組合框概述

組合框類創(chuàng)建一個控件,允許用戶從選項的下拉列表中選擇一個選項。當(dāng)用戶單擊組合框控件時,將顯示下拉列表。當(dāng)選項數(shù)量超過下拉窗口的大小時,用戶可以向下滾動到更多選項。這與ChoiceBox不同,ChoiceBox主要用于選擇數(shù)量相對較少的集合時。

導(dǎo)入聲明

javafx.scene.control。組合框

建構(gòu)者

ComboBox類有兩個生成器,具體取決于您是要創(chuàng)建一個空的ComboBox對象還是一個填充了項目。

創(chuàng)建一個空的組合框

組合框果實=新組合框();

創(chuàng)建一個ComboBox對象,并用Observableist中的字符串項填充它

可觀察的水果=FXCollections.observatearraylist(
\35; #34;Apple \\#\35;34;\#\35;#34;34;梨\\35;#34;,\35; #####34;34;
\35; ##\35; 35;34;\\35;34;34;34 \\\\);

有用的方法

如果您創(chuàng)建一個空的組合框?qū)ο?,則可以使用setItems方法。傳遞一個可觀察的對象將在組合框中設(shè)置項目。

可觀察的水果=FXCollections.observatearraylist(
"蘋果","香蕉","梨"科普電器,"草莓","桃","橙色","李子");
fruit.setItems(水果);

如果您想稍后將項目添加到組合框列表中,則可以使用getItems方法的addAll方法。這將把項目附加到選項列表的末尾:

fruit.getItems()。addAll("Melon","Cherry","黑莓");

要將選項添加到組合框選項列表中的特定位置,請使用getItems方法的添加方法。這一點s方法采用索引值和您希望添加的值:

fruit.getItems()。添加(1,"檸檬");

注意:組合框的索引值從0開始。例如,上面的"Lemon"值將被插入到位置2的組合框選項列表中,因為傳遞的索引是1。

要在組合框選項列表中預(yù)先選擇一個選項,請使用setValue方法:

fruit.setValue("櫻桃");

如果傳遞給setValue方法的值不在列表中,則仍將選擇該值。但是,這并不意味著此值已添加到列表中。如果用戶隨后選擇另一個值,則初始值將不再在要選擇的列表中。

要在組合框中獲取當(dāng)前選定項目的值,請使用getItems方法:

選擇字符串=fruit.getVa

使用技巧

組合框下拉列表通常顯示的選項數(shù)為10(除非少于10個項目,在這種情況下,它默認(rèn)為項目數(shù))。可以使用setVisibleRowCount方法更改此編號:

fruit.setVisibleRowCount(25);

同樣,如果列表中的項目數(shù)量少于setVisibleRowCount方法中設(shè)置的值,則組合框?qū)⒛J(rèn)顯示組合框下拉列表中的項目數(shù)量。

處理事件

要跟蹤組合框?qū)ο笊享椖康倪x擇,您可以使用SelectionModel的SelectEditeProperty方法的AddLister方法創(chuàng)建ChangeLister,它將拾取組合框的更改事件:

final Label selectionLabel=new Label();
fruit.getSelectionModel()。selectedTemproperty()。AddLister(
new changeLister(){
public void changed(observatevalueov,
字符串old_val,字符串new_val){
selectionLabel.setText(新的);
}
});