JavaFX TabPane
时间:2020-01-09 10:36:41 来源:igfitidea点击:
JavaFX TabPane是一个容器控件,可以在内部包含多个选项卡(部分),可以通过单击标题位于TabPane顶部的选项卡来显示这些选项卡。一次仅显示一个标签。就像纸质文件夹,其中一个文件夹是打开的。 JavaFX TabPane控件由javafx.scene.control.TabPane
类实现。这是JavaFX TabPane的屏幕截图:
在此屏幕快照中,中间选项卡具有焦点,这意味着已经单击了中间选项卡的标题。
完整的JavaFX TabPane示例
这是完整的JavaFXTabPane
代码示例:
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TabPane; import javafx.scene.control.Tab; import javafx.scene.control.Label; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class TabPaneExample extends Application { public static void main(String[] args) { launch(args); } public void start(Stage primaryStage) { TabPane tabPane = new TabPane(); Tab tab1 = new Tab("Planes", new Label("Show all planes available")); Tab tab2 = new Tab("Cars" , new Label("Show all cars available")); Tab tab3 = new Tab("Boats" , new Label("Show all boats available")); tabPane.getTabs().add(tab1); tabPane.getTabs().add(tab2); tabPane.getTabs().add(tab3); VBox vBox = new VBox(tabPane); Scene scene = new Scene(vBox); primaryStage.setScene(scene); primaryStage.setTitle("JavaFX App"); primaryStage.show(); } }
创建一个TabPane
为了使用JavaFXTabPane
,我们必须首先创建TabPane
类的实例。这是创建JavaFXTabPane
类的实例的示例:
TabPane tabPane = new TabPane();
将选项卡添加到TabPane
要显示任何内容,必须将一个或者多个选项卡添加到JavaFXTabPane
。标签由javafx.scene.control.Tab
类表示。这是向JavaFXTabPane
添加3个标签的示例:
TabPane tabPane = new TabPane(); Tab tab1 = new Tab("Planes", new Label("Show all planes available")); Tab tab2 = new Tab("Cars" , new Label("Show all cars available")); Tab tab3 = new Tab("Boats" , new Label("Show all boats available")); tabPane.getTabs().add(tab1); tabPane.getTabs().add(tab2); tabPane.getTabs().add(tab3);
上例中使用的Tab
构造函数带有两个参数。第一个参数是标题,该标题显示在选项卡顶部的"句柄"中,单击以显示该选项卡。第二个参数是JavaFX根控件,其中包含要在选项卡的主体部分内显示的内容。在上面的示例中,使用了一个简单的JavaFX Label,但是在实际的应用程序中,使用一个容器控件其中包含其他嵌套控件会更加正常。例如,JavaFX VBox,JavaFX HBox,JavaFX Flowpane,JavaFX TilePane或者JavaFX GridPane。
获取所选标签
我们可以通过TabPane``getSelectionModel()。getSelectedItem()
方法获取在JavaFXTabPane
中当前选中的(Tab)。这是从JavaFXTabPane
获取当前选择的Tab
的示例:
Tab selectedTab = tabPane.getSelectionModel().getSelectedItem();