- JavaFX 教程
- JavaFX - 首頁
- JavaFX - 概述
- JavaFX 安裝和架構
- JavaFX - 環境
- 使用 Netbeans 安裝 JavaFX
- 使用 Eclipse 安裝 JavaFX
- 使用 Visual Studio Code 安裝 JavaFX
- JavaFX - 架構
- JavaFX - 應用
- JavaFX 2D 形狀
- JavaFX - 2D 形狀
- JavaFX - 繪製直線
- JavaFX - 繪製矩形
- JavaFX - 繪製圓角矩形
- JavaFX - 繪製圓形
- JavaFX - 繪製橢圓
- JavaFX - 繪製多邊形
- JavaFX - 繪製折線
- JavaFX - 繪製三次貝塞爾曲線
- JavaFX - 繪製二次貝塞爾曲線
- JavaFX - 繪製弧形
- JavaFX - 繪製 SVG 路徑
- 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 - 遠光燈效果
- JavaFX - 聚光燈效果
- JavaFX - 點光源效果
- 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 - 選擇框
選擇框 (ChoiceBox) 是一個預定義選項的下拉列表,允許使用者一次選擇其中一個選項。它始終在框的頂部顯示當前選擇的選項,當用戶點選選擇框時,它會顯示所有其他可用選項的下拉列表。
在 JavaFX 中,選擇框由名為 ChoiceBox 的類表示。此類屬於包 javafx.scene.control。透過例項化此類,我們可以在 JavaFX 中建立一個 ChoiceBox 節點。
此類有兩個建構函式,如下所示:
ChoiceBox() - 用於建立沒有標題面板的手風琴。
ChoiceBox(ObservableList<t> items) - 它將建立一個具有指定標題面板的手風琴。(此處原文有誤,應為建立帶有指定項的選擇框)
在 JavaFX 中建立選擇框
我們需要按照以下步驟在 JavaFX 中建立 ChoiceBox。
步驟 1:例項化 ChoiceBox 類
在 JavaFX 中,選擇框是透過例項化名為 ChoiceBox 的類建立的,該類屬於包 javafx.scene.control。像下面這樣在 start() 方法內例項化此類:
//Instantiating the ChoiceBox class ChoiceBox<String> box = new ChoiceBox<String>();
步驟 2:向 ChoiceBox 新增項
我們使用 ObservableList 將項新增到 JavaFX 中的 ChoiceBox。它儲存所有具有指定型別(例如 String)的項。
//Retrieving the observable list
ObservableList<String> oslist = box.getItems();
//Adding items to the list
oslist.addAll("Windows7", "Windows8", "Windows10", "Windows11", "MAC OS");
注意 - 有時,我們可能需要為 ChoiceBox 指定其他說明,在這種情況下,我們可以使用 JavaFX 的 Label 或 TextField 類。
步驟 3:啟動應用程式
建立 ChoiceBox 並新增其項後,請按照以下步驟正確啟動應用程式:
首先,透過將 ChoiceBox 物件作為引數值傳遞給其建構函式來例項化名為 Scene 的類。我們還可以將應用程式螢幕的尺寸作為可選引數傳遞給此建構函式。
然後,使用 Stage 類的 setTitle() 方法設定舞臺的標題。
現在,使用名為 Stage 的類的 setScene() 方法將 Scene 物件新增到舞臺。
使用名為 show() 的方法顯示場景的內容。
最後,在 launch() 方法的幫助下啟動應用程式。
示例
以下 JavaFX 程式演示瞭如何在 JavaFX 應用程式中使用 ChoiceBox。將此程式碼儲存在名為 JavafxChoiceBox.java 的檔案中。
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class JavafxChoiceBox extends Application {
public void start(Stage stage) {
//Instantiating the ChoiceBox class
ChoiceBox<String> box = new ChoiceBox<String>();
//Retrieving the observable list
ObservableList<String> oslist = box.getItems();
//Adding items to the list
oslist.addAll("Windows7", "Windows8", "Windows10", "Windows11", "MAC OS");
//Setting the position of the choice box
box.setTranslateX(200);
box.setTranslateY(15);
//Setting the label
Label setlabel = new Label("Select your Operating System:");
setlabel.setTranslateX(20);
setlabel.setTranslateY(20);
//Adding the choice box to the group
Group newgrp = new Group(box, setlabel);
//Setting the stage
Scene scene = new Scene(newgrp, 500, 200);
stage.setTitle("Choice Box 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 JavafxChoiceBox.java java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxChoiceBox
輸出
當我們執行上述程式碼時,它將生成以下輸出。
使用其引數化建構函式建立選擇框
前面,我們使用了 ChoiceBox 類的空建構函式來建立一個選擇框。但是,還有另一種方法可以實現相同的功能。我們可以透過使用 observableArrayList 傳遞列表項作為引數來使用引數化建構函式。
示例
以下是將使用 ChoiceBox 類引數化建構函式建立選擇框的 JavaFX 程式。將此程式碼儲存在名為 JavafxChoiceBox.java 的檔案中。
import javafx.application.Application;
import javafx.collections.*;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class JavafxChoiceBox extends Application {
public void start(Stage stage) {
//Creating a ChoiceBox
ChoiceBox<String> box = new ChoiceBox<String> (
FXCollections.observableArrayList(
"Windows7", "Windows8", "Windows10", "Windows11", "MAC OS"));
//Setting the position of the choice box
box.setTranslateX(200);
box.setTranslateY(15);
//Setting the label
Label setlabel = new Label("Select your Operating System:");
setlabel.setTranslateX(20);
setlabel.setTranslateY(20);
//Adding the choice box to the group
Group newgrp = new Group(box, setlabel);
//Setting the stage
Scene scene = new Scene(newgrp, 500, 200);
stage.setTitle("Choice Box 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 JavafxChoiceBox.java java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxChoiceBox
輸出
執行後,上述程式將生成一個 JavaFX 視窗,顯示以下輸出。