
- JavaFX 教程
- JavaFX - 首頁
- JavaFX - 概述
- JavaFX 安裝和架構
- JavaFX - 環境
- JavaFX - 使用 NetBeans 安裝
- JavaFX - 使用 Eclipse 安裝
- JavaFX - 使用 Visual Studio Code 安裝
- JavaFX - 架構
- JavaFX - 應用程式
- JavaFX 二維形狀
- JavaFX - 二維形狀
- JavaFX - 繪製直線
- JavaFX - 繪製矩形
- JavaFX - 繪製圓角矩形
- JavaFX - 繪製圓形
- JavaFX - 繪製橢圓
- JavaFX - 繪製多邊形
- JavaFX - 繪製折線
- JavaFX - 繪製三次貝塞爾曲線
- JavaFX - 繪製二次貝塞爾曲線
- JavaFX - 繪製弧形
- JavaFX - 繪製 SVG 路徑
- JavaFX 二維物件的屬性
- 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 三維形狀
- JavaFX - 三維形狀
- 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 提供的各種預定義佈局,包括HBox、VBox、Border Pane、Stack Pane、Text Flow、Anchor Pane、Title Pane、Grid Pane、Flow Panel等等。上述每個佈局都由一個類表示,所有這些類都屬於名為javafx.layout的包。名為Pane的類是 JavaFX 中所有佈局的基類。
建立佈局
要建立佈局,我們需要遵循以下步驟:
- 建立節點。
- 例項化所需佈局的相應類。
- 設定佈局的屬性。
- 將所有建立的節點新增到佈局。
建立節點
首先,透過例項化它們各自的類來建立 JavaFX 應用程式所需的節點。例如,如果我們想要在 HBox 佈局中使用一個文字欄位和兩個按鈕(分別命名為“播放”和“停止”),我們必須首先建立這些節點,如下面的程式碼塊所示:
//Creating a text field TextField textField = new TextField(); //Creating the play button Button playButton = new Button("Play"); //Creating the stop button Button stopButton = new Button("stop");
例項化相應類
建立節點(並完成所有操作)後,例項化所需佈局的類。例如,如果我們想要建立一個 Hbox 佈局,我們需要如下例項化此類:
HBox hbox = new HBox();
設定佈局的屬性
例項化類後,我們需要使用其各自的 setter 方法來設定佈局的屬性。例如:如果我們想要在 HBox 佈局中設定建立的節點之間的間距,那麼我們需要為名為 spacing 的屬性設定值。這可以透過使用 setter 方法setSpacing()來完成,如下所示:
hbox.setSpacing(10);
將節點物件新增到佈局面板
最後,我們需要將建立的節點物件新增到佈局面板,方法是將它們作為引數值傳遞,如下所示:
//Creating a Group object hbox.getChildren().addAll(textField, playButton, stopButton);
JavaFX 中的佈局面板
以下是 JavaFX 提供的各種佈局面板(類)。這些類存在於包javafx.scene.layout中。
序號 | 佈局和描述 |
---|---|
1 | HBox
HBox 佈局將應用程式中的所有節點排列在單個水平行中。 名為HBox的類(位於包javafx.scene.layout中)表示水平盒佈局。 |
2 | VBox
VBox 佈局將應用程式中的所有節點排列在單個垂直列中。 名為VBox的類(位於包javafx.scene.layout中)表示垂直盒佈局。 |
3 | BorderPane
Border Pane 佈局將應用程式中的節點排列在頂部、左側、右側、底部和中心位置。 名為BorderPane的類(位於包javafx.scene.layout中)表示邊框窗格佈局。 |
4 | StackPane
Stack Pane 佈局將應用程式中的節點一個接一個地排列,就像堆疊一樣。首先新增的節點位於堆疊的底部,下一個節點位於其頂部。 名為StackPane的類(位於包javafx.scene.layout中)表示堆疊窗格佈局。 |
5 | TextFlow
Text Flow 佈局將多個文字節點排列在一個流中。 名為TextFlow的類(位於包javafx.scene.layout中)表示文字流佈局。 |
6 | AnchorPane
Anchor Pane 佈局將應用程式中的節點固定在距窗格特定距離的位置。 名為AnchorPane的類(位於包javafx.scene.layout中)表示 Anchor Pane 佈局。 |
7 | TilePane
Tile Pane 佈局以統一大小的圖塊形式新增應用程式的所有節點。 名為TilePane的類(位於包javafx.scene.layout中)表示 TilePane 佈局。 |
8 | GridPane
Grid Pane 佈局將應用程式中的節點排列成行和列的網格。在使用 JavaFX 建立表單時,此佈局非常方便。 名為GridPane的類(位於包javafx.scene.layout中)表示 GridPane 佈局。 |
9 | FlowPane
Flow Pane 佈局以流的形式包裝所有節點。水平 Flow Pane 在其高度處包裝窗格的元素,而垂直 Flow Pane 在其寬度處包裝元素。 名為FlowPane的類(位於包javafx.scene.layout中)表示 Flow Pane 佈局。 |