Класът ComboBox създава контрола, която позволява на потребителя да избере опция от падащ списък с опции. Падащият списък се появява, когато потребителят кликне върху контролата ComboBox. Когато броят на опциите надвиши размера на падащия прозорец, потребителят може да превърти надолу към други опции. Това се различава от ChoiceBox който се използва предимно, когато броят на избора е сравнително малък набор.
Декларация за внос
javafx.scene.control. ComboBox
конструкторите
Класът ComboBox има два конструктори в зависимост от това дали искате да създадете празен обект ComboBox или такъв, засечен с елементи.
За да създадете празен ComboBox
ComboBox плод = нов ComboBox ();
За да създадете ComboBox обект и да го попълните с String елементи от ObservableList
ObservableList плодове = FXCollections.observableArrayList (
"Ябълка", "банан", "круша", "ягода", "праскова", "портокал", "слива");
ComboBox плодове = нов ComboBox (плодове);
Полезни методи
Ако създадете празен обект ComboBox, можете да използвате метода setItems. Преминаването на ObservableList на обекти ще постави елементите в Combobox.
ObservableList плодове = FXCollections.observableArrayList (
"Ябълка", "банан", "круша", "ягода", "праскова", "портокал", "слива");
плодове.setItems (плодове);
Ако искате да добавите елементи в списъка на ComboBox по-късно, можете да използвате метода addAll на метода getItems. Това ще добави елементите в края на списъка с опции:
fru.getItems (). addAll ("Пъпеш", "Череша", "Къпина");
За да добавите опция към определено място в списъка с опции ComboBox, използвайте метода на добавяне на метода getItems. Този метод приема стойност на индекса и стойността, която искате да добавите:
плод.getItems (). добавете (1, "Лимон");
Забележка: Стойностите на индекса на ComboBox започват от 0. Например горната стойност на "Lemon" по-горе ще бъде вмъкната в списъка с опции ComboBox на позиция 2, тъй като индексът, който е преминал, е 1.
За да изберете опция в списъка с опции на ComboBox, използвайте метода setValue:
fruit.setValue ( "череша");
Ако стойността, предадена на метода setValue, не е в списъка, тогава стойността ще бъде избрана. Това обаче не означава, че тази стойност е добавена в списъка. Ако впоследствие потребителят избере друга стойност, първоначалната стойност вече няма да бъде в списъка, който ще бъде избран.
За да получите стойността на текущо избрания елемент в ComboBox, използвайте метода getItems:
Избран низ = fru.getValue (). ToString ();
Съвети за употреба
Броят на опциите, представени обикновено от падащия списък ComboBox, е десет (освен ако има по-малко от десет елемента, в този случай по подразбиране е броят на елементите). Този номер може да бъде променен чрез метода setVisibleRowCount:
плод.setVisibleRowCount (25);
Отново, ако броят на елементите в списъка е по-малък от стойността, зададена в метода setVisibleRowCount, ComboBox по подразбиране ще покаже броя на елементите в падащото меню ComboBox.
Работа със събития
За да проследите избора на елементи на ComboBox обект, можете да използвате метода addListener на Методът на SelectItemProperty на SelectionModel за създаване на ChangeListener Той ще избере промените в събитията за ComboBox:
окончателен избор на етикетLabel = нов етикет ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
нов ChangeListener () {
публичната невалидност е променена (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});