JavaFX布局-TitledPane
- 常用属性
- text
- content
- graphic
- expanded
- collapsible
- animated
- 实现方式
- Java
- fxml
- 提供了一个可折叠的标题栏和一个内容区域
- 内容区域可以嵌套其他布局
常用属性
text
设置标题
titledPane.setText("测试标题");
content
内容区域,可以单独控件,也可以是容器
Button button = new Button("Button 1");
VBox content = new VBox(button);
titledPane.setContent(content);
graphic
设置标题前面的图标
Image image = new Image("icon.png");
titledPane.setGraphic(new ImageView(image));
expanded
设置容器是否默认处于展开状态
titledPane.setExpanded(true);
collapsible
设置容器是否可以被折叠
titledPane.setCollapsible(true);
animated
设置在展开和折叠时是否有动画效果
titledPane.setAnimated(true);
实现方式
Java
public static TitledPane demo1() {
// 创建TitledPane
TitledPane titledPane = new TitledPane();
// 设置标题
titledPane.setText("测试标题");
// 设置可折叠
titledPane.setCollapsible(true);
// 设置初始状态为展开
titledPane.setExpanded(true);
// 启用动画
titledPane.setAnimated(true);
// 设置图形图标
Image image = new Image("icon.png");
titledPane.setGraphic(new ImageView(image));
// 创建一个按钮
Button button = new Button("Button 1");
// 创建一个VBox
VBox content = new VBox(button);
titledPane.setContent(content);
return titledPane;
}
fxml
<TitledPane animated="false" prefHeight="400" prefWidth="600" text="测试用" xmlns="http://javafx.com/javafx/17.0.2-ea"
xmlns:fx="http://javafx.com/fxml/1">
<content>
<FlowPane layoutX="146.0" layoutY="61.0" prefHeight="200.0" prefWidth="200.0">
<Circle fill="red" radius="50"/>
<Rectangle fill="blue" height="80" width="100"/>
<Button text="button 1"/>
<Button text="button 2"/>
<Button text="button 3"/>
<Button text="button 4"/>
<Button text="button 5"/>
<Button text="button 6"/>
<Button text="button 7"/>
<Button text="button 8"/>
<Button text="button 9"/>
<Button text="button 10"/>
</FlowPane>
</content>
</TitledPane>