TabPane类是JavaFX的一部分。 TabPane允许在多个选项卡之间切换。 TabPane充当选项卡的容器。可以使用setSide()函数指定选项卡的位置。当选项卡不适合TabPane时,TabPane的右上角会出现一个菜单按钮,其中显示了Tabpane的所有选项卡。
该类的构造函数:
- TabPane():创建没有标签的新TabPane。
- TabPane(Tab… t):使用指定的标签创建一个新的TabPane。
常用方法:
方法 | 说明 |
---|---|
getSide() | 返回选项卡在TabPane上的当前位置 |
getTabs() | 返回TabPane的选项卡。 |
setSide(Side v) | 将选项卡放置在此TabPane中的位置。 |
setSelectionModel(SingleSelectionModel v) | 设置用于选项卡选择的模型。 |
getSelectionModel() | 返回选项卡选择的选择模型。 |
getTabMaxHeight() | 返回TabPane中选项卡的最大高度。 |
getTabMinHeight() | 返回TabPane中选项卡的最小高度。 |
getTabMaxWidth() | 返回TabPane中选项卡的最大宽度。 |
getTabMinWidth() | 返回TabPane中选项卡的最小宽度。 |
setTabMaxHeight(double v) | 设置TabPane中选项卡的最大高度。 |
setTabMinHeight(double v) | 设置TabPane中选项卡的最小高度。 |
setTabMaxWidth(double v) | 设置TabPane中选项卡的最大宽度。 |
setTabMinWidth(double v) | 设置TabPane中选项卡的最小宽度。 |
以下示例程序旨在说明TabPane类的用法:
- Java程序创建多个选项卡并将其添加到TabPane:在此程序中,我们将创建一个名为tabpane的Tabpane。要添加多个选项卡,我们将使用for循环,然后将选项卡添加到选项卡窗格。创建一个名为tab的选项卡。我们还将创建一个名为label的Label。我们将使用函数setContent()将标签添加到选项卡。选项卡的标题将作为参数传递。现在创建一个名为tabpane的TabPane并将该选项卡添加到该选项卡中。之后,将Tabpane添加到场景,然后将场景添加到舞台,并使用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); } }
输出:
- Java程序创建多个选项卡并将其添加到TabPane中,还创建一个选项卡,该选项卡在选定时将创建新的选项卡:在此程序中,我们将创建一个名为tabpane的Tabpane。我们将在标签窗格中添加多个标签。要添加多个标签,我们将使用for循环。我们将创建一个名为tab的Tab。现在创建一个名为label的Label。我们将使用函数setContent()在标签上添加标签。我们还将创建一个名为newtab的标签。选中后,将创建一个新选项卡。通过使用setOnSelectionChanged()函数将事件处理程序添加到选项卡。事件处理程序将使用getTabs().add()函数创建一个新选项卡,并将其添加到选项卡窗格中的新选项卡之前,并使用getSelectionModel().select()函数选择最后一个选项卡。选项卡的标题将作为参数传递。我们将创建一个名为tabpane的TabPane,并将该选项卡添加到该Tabpane中,然后将该Tabpane添加到场景中,并将场景添加到舞台中。使用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
相关用法
- JavaFX 类 Pos用法及代码示例
- JavaFX 类 Tab用法及代码示例
- JavaFX 类 FontWeight用法及代码示例
- JavaFX 类 TextAlignment用法及代码示例
- JavaFX 类 FileChooser用法及代码示例
- JavaFX 类 DirectoryChooser用法及代码示例
- JavaFX 类 TextFlow用法及代码示例
- JavaFX 类 Popup用法及代码示例
- JavaFX 类 TitledPane用法及代码示例
- JavaFX 类 SplitPane用法及代码示例
- JavaFX 类 ClosePath用法及代码示例
- JavaFX 类 StackPane用法及代码示例
- JavaFX 类 LineTo用法及代码示例
- JavaFX 类 VLineTo用法及代码示例
- JavaFX 类 VBox用法及代码示例
注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | TabPane Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。