JavaFX UI控件教程(八)之Choice Box
翻譯自? ?Choice Box
本章介紹了選項框,這些UI控件提供了在幾個選項之間快速選擇的支持。
使用ChoiceBox該類將選擇框添加到JavaFX應用程序。其簡單的實現如圖7-1所示。
圖7-1創建包含三個項目的選擇框
?
創建一個選擇框
例7-1創建了一個包含三個項目的選擇框。
例7-1創建選擇框
ChoiceBox cb = new ChoiceBox(FXCollections.observableArrayList("First", "Second", "Third") );示例7-1顯示了在ChoiceBox類的構造函數中創建和填充的項列表。列表項是使用可觀察數組指定的。或者,您可以使用類的空構造函數,并使用示例7-2中setItems顯示的方法設置列表項。
示例7-2帶有文本元素和分隔符的選擇框
ChoiceBox cb = new ChoiceBox(); cb.setItems(FXCollections.observableArrayList("New Document", "Open ", new Separator(), "Save", "Save as") );請注意,選擇框不僅可以包含文本元素,還可以包含其他對象。甲Separator控制是在用于實施例7-2以分離的項目。當此代碼片段集成到應用程序中時,它會生成如圖7-2所示的輸出。
圖7-2使用選擇框創建的菜單
在實際應用程序中,選擇框用于構建多選列表。
?
設置選擇框的行為
圖7-3中顯示的應用程序提供了一個包含五個選項的多選框。選擇特定語言時,將呈現相應的問候語。
圖7-3多選列表
圖7-4提供了一個代碼片段,用于說明從選擇框中選擇的項目如何定義應呈現的問候語。
圖7-4選擇選擇框項目
甲ChangeListener<Number>對象檢測當前選擇的項目的通過的連續的調用索引getSelectionModel和selectedIndexProperty方法。該getSelectionModel方法返回所選項,該selectedIndexProperty方法返回SELECTED_INDEXcb選擇框的屬性。因此,作為索引的整數值定義了問候數組的元素,并指定了String標簽的文本值。例如,如果用戶選擇對應于西班牙語的第二項,SELECTED_INDEX則等于1并且從問候數組中選擇“Hola”。因此,標簽呈現“Hola”。
您可以ChoiceBox通過為其指定工具提示來使控件更具信息性。工具提示是javafx.scene.control包中可用的UI控件。工具提示可以應用于任何JavaFX UI控件。
?
應用工具提示
的Tooltip類提供了可以通過調用被容易地應用于一個選擇框(或任何其他控制)的預制工具提示setTooltip中所示的方法實施例7-3。
示例7-3將工具提示添加到選擇框
cb.setTooltip(new Tooltip("Select the language"));通常,用戶在Tooltip類的構造函數中定義工具提示的文本。但是,如果應用程序的邏輯需要UI動態設置文本,則可以使用空構造函數應用工具提示,然后使用該setText方法將文本分配給它。
將工具提示應用于cb選擇框后,將光標放在選擇框上的用戶將看到如圖7-5所示的圖像。
圖7-5帶有應用工具提示的選擇框
要進一步增強應用程序,可以使用CSS屬性設置選項框的樣式,或應用視覺效果或變換。
?
相關的API文檔?
-
ChoiceBox
-
Tooltip
總結
以上是生活随笔為你收集整理的JavaFX UI控件教程(八)之Choice Box的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq的亲密关系在哪里
- 下一篇: JavaFX UI控件教程(九)之Tex