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