JavaFX | TabPane类

TabPane类是JavaFX的一部分。TabPane允许在多个选项卡之间切换。TabPane充当选项卡的容器。可以使用setSide()函数指定选项卡的位置。当选项卡不适合TabPane时,TabPane的右上角会出现一个菜单按钮,显示TabPane的所有选项卡。

null

类的构造函数:

  1. TabPane() :创建没有选项卡的新选项卡窗格。
  2. TabPane(Tab…t) :创建具有指定选项卡的新选项卡窗格。

常用方法:

方法 解释
getSide() 返回选项卡在选项卡窗格上的当前位置
getTabs() 返回选项卡窗格的选项卡。
设置侧(v侧) 在此选项卡窗格中放置选项卡的位置。
setSelectionModel(SingleSelectionModel v) 设置用于选项卡选择的模型。
getSelectionModel() 返回选项卡选择的选择模型。
getTabMaxHeight() 返回选项卡窗格中选项卡的最大高度。
getTabMinHeight() 返回TabPane中选项卡的最小高度。
getTabMaxWidth() 返回TabPane中选项卡的最大宽度。
getTabMinWidth() 返回TabPane中选项卡的最小宽度。
setTabMaxHeight(双v) 在TabPane中设置选项卡的最大高度。
设置最小高度(双v) 在TabPane中设置选项卡的最小高度。
setTabMaxWidth(双v) 在TabPane中设置选项卡的最大宽度。
setTabMinWidth(双v) 在TabPane中设置选项卡的最小宽度。

下面的程序演示了TabPane类的使用:

  1. Java程序创建多个选项卡并将其添加到选项卡窗格: 在这个程序中,我们将创建一个名为 选项卡窗格 .要添加多个选项卡,我们将使用for循环,然后将选项卡添加到 选项卡窗格 .创建一个名为 标签 .我们还将创建一个名为 标签 .我们将使用函数将标签添加到选项卡中 setContent() .选项卡的标题将作为参数传递。现在创建一个名为 选项卡窗格 然后将选项卡添加到选项卡窗格。之后再加上 选项卡窗格 添加到场景,并将场景添加到舞台,然后使用 show() 作用

    // Java program to create multiple tabs
    // and add it to the TabPane
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.control.*;
    public class TabPane_1 extends Application {
    // launch the application
    public void start(Stage stage)
    {
    // set title for the stage
    stage.setTitle( "Creating Tab" );
    // create a tabpane
    TabPane tabpane = new TabPane();
    // create multiple tabs
    for ( int i = 0 ; i < 10 ; i++) {
    // create Tab
    Tab tab = new Tab( "Tab_" + ( int )(i + 1 ));
    // create a label
    Label label = new Label( "This is Tab: " + ( int )(i + 1 ));
    // add label to the tab
    tab.setContent(label);
    // add tab
    tabpane.getTabs().add(tab);
    }
    // create a scene
    Scene scene = new Scene(tabpane, 600 , 500 );
    // set the scene
    stage.setScene(scene);
    stage.show();
    }
    // Main Method
    public static void main(String args[])
    {
    // launch the application
    launch(args);
    }
    }

    
    

    输出:

  2. Java程序创建多个选项卡,并将其添加到选项卡窗格中,同时创建一个选项卡,选中该选项卡将创建新选项卡: 在这个程序中,我们将创建一个名为 选项卡窗格 .我们将在列表中添加多个选项卡 选项卡窗格 .要添加多个选项卡,我们将使用for循环。我们将创建一个名为 标签 .现在创建一个名为 标签 .我们将使用该功能向选项卡添加标签 setContent() .我们还将创建一个名为 纽塔布 .选中后,将创建一个新选项卡。使用将事件处理程序添加到选项卡 setOnSelectionChanged() 作用事件处理程序将创建一个新选项卡,并将其添加到中的新选项卡之前 选项卡窗格 使用 getTabs()。添加() 函数并使用 getSelectionModel()。选择() 作用选项卡的标题将作为参数传递。我们将创建一个名为 选项卡窗格 并将该选项卡添加到 选项卡窗格 并添加 选项卡窗格 一幕接一幕地登上舞台。使用 show() 作用

    // Java program to create multiple tabs and
    // add it to the tabPane and also create a
    // tab which on selected will create new tabs
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.control.*;
    import javafx.event.Event;
    import javafx.event.EventHandler;
    public class TabPane_2 extends Application {
    // counter of tabs
    int counter = 0 ;
    // launch the application
    public void start(Stage stage)
    {
    // set title for the stage
    stage.setTitle( "Creating Tab" );
    // create a tabpane
    TabPane tabpane = new TabPane();
    for ( int i = 0 ; i < 5 ; i++) {
    // create Tab
    Tab tab = new Tab( "Tab_" + ( int )(counter + 1 ));
    // create a label
    Label label = new Label( "This is Tab: "
    + ( int )(counter + 1 ));
    counter++;
    // add label to the tab
    tab.setContent(label);
    // add tab
    tabpane.getTabs().add(tab);
    }
    // create a tab which
    // when pressed creates a new tab
    Tab newtab = new Tab();
    // action event
    EventHandler<Event> event =
    new EventHandler<Event>() {
    public void handle(Event e)
    {
    if (newtab.isSelected())
    {
    // create Tab
    Tab tab = new Tab( "Tab_" + ( int )(counter + 1 ));
    // create a label
    Label label = new Label( "This is Tab: "
    + ( int )(counter + 1 ));
    counter++;
    // add label to the tab
    tab.setContent(label);
    // add tab
    tabpane.getTabs().add(
    tabpane.getTabs().size() - 1 , tab);
    // select the last tab
    tabpane.getSelectionModel().select(
    tabpane.getTabs().size() - 2 );
    }
    }
    };
    // set event handler to the tab
    newtab.setOnSelectionChanged(event);
    // add newtab
    tabpane.getTabs().add(newtab);
    // create a scene
    Scene scene = new Scene(tabpane, 600 , 500 );
    // set the scene
    stage.setScene(scene);
    stage.show();
    }
    // Main Method
    public static void main(String args[])
    {
    // launch the application
    launch(args);
    }
    }

    
    

    输出:

注: 上述程序可能无法在联机IDE中运行。请使用脱机编译器。

参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TabPane.html

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享