📜  JavaFX | TitledPane 类(1)

📅  最后修改于: 2023-12-03 15:16:03.399000             🧑  作者: Mango

JavaFX | TitledPane类

JavaFX的TitledPane类是一种方便的控件,它提供了一个带有标题和可折叠内容的面板。它既可以作为单独的控件使用,也可以作为其他布局控件的一部分使用。

创建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可以轻松地实现带有可折叠内容的界面。