
- JavaFX 教程
- JavaFX - 首頁
- JavaFX - 概述
- JavaFX 安裝和架構
- JavaFX - 環境
- JavaFX - 使用 Netbeans 安裝
- JavaFX - 使用 Eclipse 安裝
- JavaFX - 使用 Visual Studio Code 安裝
- JavaFX - 架構
- JavaFX - 應用程式
- JavaFX 2D 形狀
- JavaFX - 2D 形狀
- JavaFX - 繪製線條
- JavaFX - 繪製矩形
- JavaFX - 繪製圓角矩形
- JavaFX - 繪製圓形
- JavaFX - 繪製橢圓
- JavaFX - 繪製多邊形
- JavaFX - 繪製折線
- JavaFX - 繪製三次貝塞爾曲線
- JavaFX - 繪製二次貝塞爾曲線
- JavaFX - 繪製弧線
- JavaFX - 繪製 SVGPath
- JavaFX 2D 物件的屬性
- JavaFX - 描邊型別屬性
- JavaFX - 描邊寬度屬性
- JavaFX - 描邊填充屬性
- JavaFX - 描邊屬性
- JavaFX - 描邊連線屬性
- JavaFX - 描邊斜接限制屬性
- JavaFX - 描邊端點屬性
- JavaFX - 平滑屬性
- JavaFX 路徑物件
- JavaFX - 路徑物件
- JavaFX - LineTo 路徑物件
- JavaFX - HLineTo 路徑物件
- JavaFX - VLineTo 路徑物件
- JavaFX - QuadCurveTo 路徑物件
- JavaFX - CubicCurveTo 路徑物件
- JavaFX - ArcTo 路徑物件
- JavaFX 顏色和紋理
- JavaFX - 顏色
- JavaFX - 線性漸變圖案
- JavaFX - 徑向漸變圖案
- JavaFX 文字
- JavaFX - 文字
- JavaFX 效果
- JavaFX - 效果
- JavaFX - 顏色調整效果
- JavaFX - 顏色輸入效果
- JavaFX - 影像輸入效果
- JavaFX - 混合效果
- JavaFX - 光暈效果
- JavaFX - 輝光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 運動模糊效果
- JavaFX - 反射效果
- JavaFX - 棕褐色效果
- JavaFX - 陰影效果
- JavaFX - 投影效果
- JavaFX - 內陰影效果
- JavaFX - 照明效果
- JavaFX - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- JavaFX - 位移對映
- JavaFX - 透視變換
- JavaFX 動畫
- JavaFX - 動畫
- JavaFX - 旋轉過渡
- JavaFX - 縮放過渡
- JavaFX - 平移過渡
- JavaFX - 淡入淡出過渡
- JavaFX - 填充過渡
- JavaFX - 描邊過渡
- JavaFX - 順序過渡
- JavaFX - 並行過渡
- JavaFX - 暫停過渡
- JavaFX - 路徑過渡
- JavaFX 影像
- JavaFX - 影像
- JavaFX 3D 形狀
- JavaFX - 3D 形狀
- JavaFX - 建立立方體
- JavaFX - 建立圓柱體
- JavaFX - 建立球體
- 3D 物件的屬性
- JavaFX - 剔除面屬性
- JavaFX - 繪製模式屬性
- JavaFX - 材質屬性
- JavaFX 事件處理
- JavaFX - 事件處理
- JavaFX - 使用便捷方法
- JavaFX - 事件過濾器
- JavaFX - 事件處理程式
- JavaFX UI 控制元件
- JavaFX - UI 控制元件
- JavaFX - 列表檢視
- JavaFX - 手風琴
- JavaFX - 按鈕欄
- JavaFX - 選擇框
- JavaFX - HTML 編輯器
- JavaFX - 選單欄
- JavaFX - 分頁
- JavaFX - 進度指示器
- JavaFX - 滾動窗格
- JavaFX - 分隔符
- JavaFX - 滑塊
- JavaFX - 微調器
- JavaFX - 分割窗格
- JavaFX - 表格檢視
- JavaFX - 選項卡窗格
- JavaFX - 工具欄
- JavaFX - 樹檢視
- JavaFX - 標籤
- JavaFX - 複選框
- JavaFX - 單選按鈕
- JavaFX - 文字欄位
- JavaFX - 密碼欄位
- JavaFX - 檔案選擇器
- JavaFX - 超連結
- JavaFX - 工具提示
- JavaFX - 警報
- JavaFX - 日期選擇器
- JavaFX - 文字區域
- JavaFX 圖表
- JavaFX - 圖表
- JavaFX - 建立餅圖
- JavaFX - 建立折線圖
- JavaFX - 建立面積圖
- JavaFX - 建立條形圖
- JavaFX - 建立氣泡圖
- JavaFX - 建立散點圖
- JavaFX - 建立堆疊面積圖
- JavaFX - 建立堆疊條形圖
- JavaFX 佈局窗格
- JavaFX - 佈局窗格
- JavaFX - HBox 佈局
- JavaFX - VBox 佈局
- JavaFX - BorderPane 佈局
- JavaFX - StackPane 佈局
- JavaFX - TextFlow 佈局
- JavaFX - AnchorPane 佈局
- JavaFX - TilePane 佈局
- JavaFX - GridPane 佈局
- JavaFX - FlowPane 佈局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒體
- JavaFX - 處理媒體
- JavaFX - 播放影片
- JavaFX 有用資源
- JavaFX - 快速指南
- JavaFX - 有用資源
- JavaFX - 討論
JavaFX - 分割窗格
分割窗格是一種包含兩個或多個由分隔線分隔的滑塊的控制元件。每個滑塊提供不同的視口,允許我們嵌入多個元件。我們還可以將分割窗格的方向設定為水平或垂直。讓我們看看一個典型的分割窗格是什麼樣子的 -

JavaFX 中的分割窗格
在 JavaFX 中,名為 SplitPane 的類表示分割窗格。要使用分割窗格的功能,我們需要建立一個 SplitPane 類的例項,並將我們想要在其中顯示的元件新增到其中。這些元件可以是任何 JavaFX 節點,例如標籤、按鈕、影像、文字欄位等等。我們可以使用以下任何建構函式來建立一個分割窗格 -
SplitPane() - 它是用於建立沒有任何預定義節點的分割窗格的預設建構函式。
SplitPane(Node components) - 它是 SplitPane 類的引數化建構函式,它將建立一個帶有指定節點的新分割窗格。
在 JavaFX 中建立分割窗格的步驟
要在 JavaFX 中建立分割窗格,請按照以下步驟操作。
步驟 1:建立兩個或多個節點
如前所述,分割窗格至少包含兩個滑塊。因此,我們的第一步將是建立兩個或多個節點以在這些不同的滑塊中顯示。為了本例的需要,我們將使用標籤。在 JavaFX 中,標籤是透過例項化名為 Label 的類建立的,該類屬於 javafx.scene.control 包。如下所示建立標籤 -
// Creating four labels Label labelOne = new Label("Label 1"); Label labelTwo = new Label("Label 2"); Label labelThree = new Label("Label 3"); Label labelFour = new Label("Label 4");
同樣,透過例項化其各自的類來建立所需的節點。
步驟 2:例項化 SplitPane 類
例項化 javafx.scene.control 包的 SplitPane 類,不向其建構函式傳遞任何引數值,並使用 getItems() 方法將所有標籤新增到分割窗格中。
// instantiating the SplitPane class SplitPane splitP = new SplitPane(); // adding the labels to the SplitPane splitP.getItems().addAll(labelOne, labelTwo, labelThree, labelFour);
步驟 3:啟動應用程式
建立 SplitPane 並向其新增標籤後,請按照以下步驟正確啟動應用程式 -
首先,透過將 SplitPane 物件作為引數值傳遞給其建構函式來例項化名為 Scene 的類。此外,將應用程式螢幕的尺寸作為可選引數傳遞給此建構函式。
然後,使用 Stage 類的 setTitle() 方法為舞臺設定標題。
現在,使用名為 Stage 的類的 setScene() 方法將 Scene 物件新增到舞臺中。
使用名為 show() 的方法顯示場景的內容。
最後,應用程式在 launch() 方法的幫助下啟動。
示例
以下是將在 JavaFX 中建立一個分割窗格的程式。將此程式碼儲存在名為 NewSplitpane.java 的檔案中。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.SplitPane; import javafx.stage.Stage; public class NewSplitpane extends Application { @Override public void start(Stage stage) { // Creating four labels Label labelOne = new Label("Label 1"); Label labelTwo = new Label("Label 2"); Label labelThree = new Label("Label 3"); Label labelFour = new Label("Label 4"); // instantiating the SplitPane class SplitPane splitP = new SplitPane(); // adding the labels to the SplitPane splitP.getItems().addAll(labelOne, labelTwo, labelThree, labelFour); // Creating a Scene with the SplitPane as its root node Scene scene = new Scene(splitP, 400, 300); // to set the title stage.setTitle("SplitPane in JavaFX"); // Setting the Scene of the Stage stage.setScene(scene); // Display the Stage stage.show(); } public static void main(String[] args) { launch(args); } }
使用命令提示符透過以下命令編譯並執行上述 Java 檔案。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls NewSplitpane.java java --module-path %PATH_TO_FX% --add-modules javafx.controls NewSplitpane
輸出
執行後,上述程式將生成一個 JavaFX 視窗,其中顯示一個帶有四個標籤和三個分隔線的 SplitPane,如下所示。

設定 SplitPane 的方向
預設情況下,SplitPane 具有水平方向,這意味著元件從左到右彼此相鄰放置。我們可以透過呼叫 SplitPane 類的 setOrientation() 方法並將 Orientation.VERTICAL 引數傳遞給它來將方向更改為垂直方向。
示例
在以下 JavaFX 程式中,我們將建立一個垂直 SplitPane。將此程式碼儲存在名為 SplitpaneDemo.java 的檔案中。
import javafx.application.Application; import javafx.geometry.Orientation; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.SplitPane; import javafx.stage.Stage; import javafx.scene.layout.VBox; public class SplitpaneDemo extends Application { @Override public void start(Stage stage) { // Create a SplitPane with vertical orientation SplitPane splitP = new SplitPane(); splitP.setOrientation(Orientation.VERTICAL); // vertical box to hold the labels VBox box1 = new VBox(); VBox box2 = new VBox(); // Create two labels and add them to the SplitPane box1.getChildren().add(new Label("This is \nthe \nfirst section")); box2.getChildren().add(new Label("This is \nthe \nsecond section")); splitP.getItems().addAll(box1, box2); // Set the divider position to 50 splitP.setDividerPositions(0.5); // Create a scene and show the stage Scene scene = new Scene(splitP, 400, 300); stage.setTitle("SplitPane in JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
使用以下命令從命令提示符編譯並執行儲存的 Java 檔案。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls SplitpaneDemo.java java --module-path %PATH_TO_FX% --add-modules javafx.controls SplitpaneDemo
輸出
當我們執行上述程式碼時,它將生成以下輸出。
