📅  最后修改于: 2023-12-03 15:16:03.399000             🧑  作者: Mango
JavaFX的TitledPane类是一种方便的控件,它提供了一个带有标题和可折叠内容的面板。它既可以作为单独的控件使用,也可以作为其他布局控件的一部分使用。
可以使用以下代码创建一个TitledPane:
TitledPane titledPane = new TitledPane();
titledPane.setText("标题");
titledPane.setContent(new Label("内容"));
上面的代码将创建一个标题为“标题”,内容为“内容”的TitledPane。此处的内容可以是任何JavaFX节点。
默认情况下,TitledPane会展开其内容。可以使用以下代码将其折叠:
titledPane.setExpanded(false);
或者,可以在创建时指定其是否展开:
TitledPane titledPane = new TitledPane("标题", new Label("内容"));
titledPane.setExpanded(false);
一旦创建了一个TitledPane,就可以使用以下代码检查它是否展开:
boolean isExpanded = titledPane.isExpanded();
可以使用以下代码添加展开和折叠的监听器:
titledPane.expandedProperty().addListener((observable, oldValue, newValue) -> {
if (newValue) {
System.out.println("TitledPane已展开");
} else {
System.out.println("TitledPane已折叠");
}
});
默认情况下,TitledPane将标题放置在顶部,并在右侧显示一个小箭头,指示是否展开。可以使用以下代码自定义标题:
titledPane.setGraphic(new ImageView(new Image("my-icon.png")));
上面的代码将把my-icon.png图像放到标题的左侧。
可以使用CSS自定义TitledPane的样式。可以使用以下代码为TitledPane设置CSS样式:
titledPane.setStyle("-fx-background-color: green;");
或者,可以在CSS文件中定义样式:
.titled-pane {
-fx-background-color: green;
}
然后在JavaFX应用程序的启动代码中加载CSS文件:
scene.getStylesheets().add("style.css");
TitledPane是JavaFX中非常实用的控件,具有可折叠的面板和自定义标题和样式的功能。使用TitledPane可以轻松地实现带有可折叠内容的界面。