JavaFX TitledPane控件

时间:2020-01-09 10:36:42  来源:igfitidea点击:

JavaFX TitledPane控件是一个容器控件,它在窗格(框)中显示其内容,该窗格的顶部包含标题,因此名为TitledPane。 TitledPane控件由javafx.scene.control.TitledPane类实现。在此JavaFXTitledPane教程中,我们将研究如何使用TitledPane控件。这是一个JavaFXTitledPane屏幕快照,显示了它的外观:

可以折叠TitledPane,以便仅标题栏可见。 JavaFX Accordion控件内部使用了此函数。当然,也可以扩展" TitledPane"。我将在本教程的后面部分演示其工作原理。

创建一个JavaFX TitledPane

为了使用JavaFXTitledPane,我们必须首先创建TitledPane实例。这是创建JavaFXTitledPane的示例:

Label label = new Label("The content inside the TitledPane");

TitledPane titledPane = new TitledPane("The Title", label);

请注意代码示例中的第二行。这是创建TitledPane实例的行。请注意如何将显示在" TitledPane"中的标题作为参数传递给构造函数。还要注意,要显示的内容(JavaFX节点)也是如何作为参数传递给构造函数的。在此示例中,内容只是一个简单的JavaFX Label。

将TitledPane添加到JavaFX场景图

为了使JavaFXTitledPane实例可见,必须将其添加到JavaFX场景图。这是向JavaFX场景图添加JavaFXTitledPane的完整示例:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TitledPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TitledPaneExample extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Label label = new Label("The content inside the TitledPane");
        TitledPane titledPane = new TitledPane("The Title", label);

        Scene scene = new Scene(new VBox(titledPane));
        primaryStage.setScene(scene);

        primaryStage.show();
    }
}

收起并展开一个标题窗格

用户可以使用" TitledPane"标题栏中标题旁边的小三角形折叠并展开JavaFX" TitledPane"。这是一个折叠的" TitledPane"外观的示例:

注意如何不再显示" TitledPane"的内容。

也可以以编程方式折叠和展开" TitledPane"。我们可以通过调用其setExpanded()方法来实现。这是一个以编程方式扩展和折叠TitledPane的示例:

titledPane.setExpanded(true);
titledPane.setExpanded(false);

禁用折叠

可以禁用JavaFXTitledPane的折叠函数。为此,我们可以调用其setCollapsible()方法,并将值false传递为参数。这是关闭" TitledPane"可折叠函数的样子:

Label label = new Label("The content inside the TitledPane");
TitledPane titledPane = new TitledPane("The Title", label);

titledPane.setCollapsible(false);