Kontrolki JavaFX: Przegląd ChoiceBox

The

ChoiceBox
Klasa służy do tworzenia formantu, który daje użytkownikowi kilka opcji do wyboru z listy rozwijanej. Użytkownik może wybrać tylko jedną z opcji. Gdy lista rozwijana nie jest wyświetlana, aktualnie wybrana opcja jest jedyną widoczną. Możliwe jest ustawienie
ChoiceBox
obiekt, aby zaakceptować opcję zerową jako prawidłowy wybór.

Oświadczenie importowe

import javafx.scene.control. ChoiceBox;

Konstruktory

The

ChoiceBox
klasa ma dwa konstruktory, jeden dla pustej listy elementów i jeden z danym zestawem elementów:
// Utwórz pusty ChoiceBox
ChoiceBox options = new ChoiceBox ();
// Utwórz ChoiceBox za pomocą obserwowalnej kolekcji list
Cboices ChoiceBox = nowy ChoiceBox (FXCollections.observableArrayList („Apple”, „Banana”, „Orange”, „Peach”, „Pear”, „Strawberry”));

Przydatne metody

Jeśli zdecydujesz się utworzyć pusty

ChoiceBox
elementy można dodać później za pomocą
setItems
metoda:
options.setItems (FXCollections.observableArrayList („Jabłko”, „Banan”, „Pomarańcza”, „Brzoskwinia”, „Gruszka”, „Truskawka”));

instagram viewer

A jeśli chcesz dowiedzieć się, jakie przedmioty są w

ChoiceBox
możesz użyć
getItems
metoda:
Opcje list = options.getItems ();

Aby wybrać opcję, która ma być aktualnie wybrana, użyj

ustalić wartość
i podaj jedną z opcji:
options.setValue („Pierwszy”);

Aby uzyskać wartość aktualnie wybranej opcji, użyj odpowiedniej

getValue
i przypisz ją do Strunowy:
Opcja string = options.getValue (). ToString ();

Obsługa zdarzeń

Aby słuchać wydarzeń dla

ChoiceBox
obiekt,
SelectionModel
Jest używane. The
ChoiceBox
używa
SingleSelectionModel
klasa, która pozwala wybrać tylko jedną opcję na raz. The
selectedIndexProperty
metoda pozwala nam dodać
ChangeListener
. Oznacza to, że ilekroć wybrana opcja zmienia się na inną opcję, nastąpi zdarzenie zmiany. Jak widać z poniższego kodu, nasłuchiwana jest zmiana, a kiedy to nastąpi, poprzednio wybraną opcję i nowo wybraną opcję można określić:
końcowa lista opcji = options.getItems ();
options.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener () {
@Override public void zmieniony (ObservableValue ov, Number oldSelected, Number newSelected) {
System.out.println („Old Selected Option:” + options.get (oldSelected.intValue ()));
System.out.println („Nowa wybrana opcja:” + options.get (newSelected.intValue ()));
}
});

Możliwe jest również wyświetlanie lub ukrywanie listy opcji bez konieczności klikania przez użytkownika

ChoiceBox
obiekt za pomocą
pokazać
i
ukryć
metody W poniższym kodzie obiekt Button służy do wywołania metody show metody a
ChoiceBox
obiekt, gdy
Przycisk
jest kliknięty:
// Użyj panelu stosu do prostego układu elementów sterujących
StackPane root = new StackPane ();
// Utwórz przycisk, aby wyświetlić opcje w ChoiceBox
Przycisk showOptionButton = nowy przycisk („Pokaż opcje”);
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Utwórz ChoiceBox z kilkoma opcjami
końcowe wybory ChoiceBox = nowy ChoiceBox (FXCollections.observableArrayList („Jabłko”, „Banan”, „Pomarańcza”, „Brzoskwinia”, „Gruszka”, „Truskawka”));
root.getChildren (). add (opcje);
// Użyj ActionEvent, aby wywołać metodę show ChoiceBox
showOptionButton.setOnAction (new EventHandler () {
@Override public void handle (ActionEvent e) {
options.show ();
}
});
// Ustaw scenę i uruchom scenę ...
Scena sceny = nowa scena (root, 300, 250);
primaryStage.setScene (scena);
primaryStage.show ();

Aby dowiedzieć się o innych kontrolkach JavaFX, zapoznaj się z kontrolkami interfejsu użytkownika JavaFX.