Controlli JavaFX: panoramica di ChoiceBox

Il

ChoiceBox
La classe viene utilizzata per creare un controllo che presenta all'utente alcune scelte da scegliere da un elenco a discesa. L'utente è autorizzato a scegliere solo una delle opzioni. Quando l'elenco a discesa non viene visualizzato, l'opzione attualmente selezionata è l'unica visibile. È possibile impostare il
ChoiceBox
oggetto di accettare un'opzione null come scelta valida.

Dichiarazione di importazione

import javafx.scene.control. ChoiceBox;

Costruttori

Il

ChoiceBox
la classe ha due costruttori uno per un elenco vuoto di elementi e uno con un determinato set di elementi:
// Crea un ChoiceBox vuoto
Scelte ChoiceBox = nuovo ChoiceBox ();
// Crea un ChoiceBox usando una raccolta di elenchi osservabili
ChoiceBox cboices = new ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Metodi Utili

Se si sceglie di creare un vuoto

ChoiceBox
gli articoli possono essere aggiunti in seguito usando il
setItems
metodo:
Choice.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

instagram viewer

E, se vuoi scoprire quali sono gli articoli in a

ChoiceBox
puoi usare il
getItems
metodo:
Elenco opzioni = options.getItems ();

Per scegliere un'opzione da selezionare attualmente, utilizzare il

valore impostato
metodo e forniscilo con una delle opzioni:
choices.setValue ( "Prima");

Per ottenere il valore dell'opzione attualmente selezionata, utilizzare il corrispondente

getValue
metodo e assegnarlo a Corda:
String opzione = options.getValue (). ToString ();

Gestione degli eventi

Per ascoltare gli eventi per a

ChoiceBox
oggetto, il
SelectionModel
viene usato. Il
ChoiceBox
usa il
SingleSelectionModel
classe che consente di scegliere solo un'opzione alla volta. Il
selectedIndexProperty
il metodo ci consente di aggiungere a
ChangeListener
. Ciò significa che ogni volta che l'opzione selezionata cambia in un'altra opzione, si verificherà l'evento change. Come puoi vedere dal codice seguente, viene ascoltata una modifica e quando si verifica l'opzione precedentemente selezionata e l'opzione appena selezionata può essere determinata:
Opzioni elenco finale = scelte.getItems ();
options.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener () {
@Override void pubblico modificato (ObservableValue ov, Number oldSelected, Number newSelected) {
System.out.println ("Vecchia opzione selezionata:" + options.get (oldSelected.intValue ()));
System.out.println ("Nuova opzione selezionata:" + options.get (newSelected.intValue ()));
}
});

È anche possibile mostrare o nascondere l'elenco di opzioni senza che l'utente debba fare clic su

ChoiceBox
oggetto usando il
mostrare
e
nascondere
metodi. Nel codice sottostante viene utilizzato un oggetto Button per chiamare il metodo show di a
ChoiceBox
oggetto quando
Pulsante
si fa clic:
// Usa uno stackpane per un semplice layout dei controlli
StackPane root = new StackPane ();
// Pulsante Crea per mostrare le opzioni in ChoiceBox
Button showOptionButton = new Button ("Mostra opzioni");
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Crea ChoiceBox con alcune opzioni
scelte Choice Choice finali = nuovo ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). add (scelte);
// Utilizzare ActionEvent per chiamare il metodo show ChoiceBox
showOptionButton.setOnAction (new EventHandler () {
@Override handle di vuoto pubblico (ActionEvent e) {
choices.show ();
}
});
// Imposta la scena e metti in scena lo stage.
Scene scene = new Scene (root, 300, 250);
primaryStage.setScene (scena);
primaryStage.show ();

Per scoprire altri controlli JavaFX, dai un'occhiata ai controlli dell'interfaccia utente JavaFX.

instagram story viewer