Klasa ComboBox tworzy formant, który pozwala użytkownikowi wybrać opcję z rozwijanej listy opcji. Lista rozwijana pojawia się, gdy użytkownik kliknie kontrolkę ComboBox. Gdy liczba opcji przekroczy rozmiar okna rozwijanego, użytkownik może przewinąć w dół do dalszych opcji. Różni się to od ChoiceBox który jest używany przede wszystkim, gdy liczba opcji jest stosunkowo niewielka.
Oświadczenie importowe
javafx.scene.control. ComboBox
Konstruktory
Klasa ComboBox ma dwa konstruktory w zależności od tego, czy chcesz utworzyć pusty obiekt ComboBox, czy ten wypełniony elementami.
Aby utworzyć pusty ComboBox
Owoc ComboBox = nowy ComboBox ();
Aby utworzyć obiekt ComboBox i zapełnić go elementami String z ObservableList
ObservableList fruits = FXCollections.observableArrayList (
„Jabłko”, „Banan”, „Gruszka”, „Truskawka”, „Brzoskwinia”, „Pomarańcza”, „Śliwka”);
ComboBox fruit = nowy ComboBox (owoce);
Przydatne metody
Jeśli utworzysz pusty obiekt ComboBox, możesz użyć metody setItems. Przekazanie ObservableList obiektów ustawi elementy w Combobox.
ObservableList fruits = FXCollections.observableArrayList (
„Jabłko”, „Banan”, „Gruszka”, „Truskawka”, „Brzoskwinia”, „Pomarańcza”, „Śliwka”);
fruit.setItems (owoce);
Jeśli chcesz później dodać elementy do listy ComboBox, możesz użyć metody addAll metody getItems. Spowoduje to dołączenie elementów na końcu listy opcji:
fruit.getItems (). addAll („Melon”, „Cherry”, „Blackberry”);
Aby dodać opcję do określonego miejsca na liście opcji ComboBox, użyj metody add metody getItems. Ta metoda przyjmuje wartość indeksu i wartość, którą chcesz dodać:
fruit.getItems (). add (1, „Lemon”);
Uwaga: Wartości indeksu ComboBox zaczynają się od 0. Na przykład powyższa wartość „Lemon” powyżej zostanie wstawiona do listy opcji ComboBox na pozycji 2, gdy przekazywany indeks to 1.
Aby wstępnie wybrać opcję z listy opcji ComboBox, użyj metody setValue:
fruit.setValue („Cherry”);
Jeśli wartości przekazanej do metody setValue nie ma na liście, wówczas wartość zostanie wybrana. Nie oznacza to jednak, że ta wartość została dodana do listy. Jeśli użytkownik wybierze następnie inną wartość, wówczas wartość początkowa nie będzie już na liście do wybrania.
Aby uzyskać wartość aktualnie wybranego elementu w ComboBox, użyj metody getItems:
Wybrany ciąg = fruit.getValue (). ToString ();
Wskazówki dotyczące użytkowania
Liczba opcji normalnie prezentowanych na liście rozwijanej ComboBox wynosi dziesięć (chyba że jest mniej niż dziesięć elementów, w którym to przypadku domyślnie jest ustawiona liczba elementów). Liczbę tę można zmienić za pomocą metody setVisibleRowCount:
fruit.setVisibleRowCount (25);
Ponownie, jeśli liczba elementów na liście jest mniejsza niż wartość ustawiona w metodzie setVisibleRowCount, ComboBox domyślnie wyświetla liczbę elementów w menu rozwijanym ComboBox.
Obsługa zdarzeń
Aby śledzić wybór elementów w obiekcie ComboBox, możesz użyć metody addListener obiektu selectedItemProperty metoda SelectionModel, aby utworzyć ChangeListener Pobierze zdarzenia zmiany dla ComboBox:
końcowy wybór etykiety Etykieta = nowa etykieta ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
new ChangeListener () {
zmieniona publiczna nieważność (ObservableValue ov,
Ciąg old_val, Ciąg new_val) {
selectionLabel.setText (new_val);
}
});