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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。