Controles JavaFX: Visão Geral da ChoiceBox

o

ChoiceBox
A classe é usada para criar um controle que apresenta ao usuário algumas opções para escolher em uma lista suspensa. O usuário pode escolher apenas uma das opções. Quando a lista suspensa não é exibida, a opção atualmente selecionada é a única visível. É possível definir o
ChoiceBox
objeto para aceitar uma opção nula como uma opção válida.

Declaração de importação

importar javafx.scene.control. ChoiceBox;

Construtores

o

ChoiceBox
A classe possui dois construtores, um para uma lista vazia de itens e outro para um determinado conjunto de itens:
// Crie uma ChoiceBox vazia
ChoiceBox escolhas = novo ChoiceBox ();
// Crie uma ChoiceBox usando uma coleção de lista observável
ChoiceBox cboices = nova ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Laranja", "Pêssego", "Pêra", "Morango"));

Métodos úteis

Se você optar por criar um espaço vazio

ChoiceBox
itens podem ser adicionados posteriormente usando o
setItems
método:
options.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Laranja", "Pêssego", "Pêra", "Morango"));

instagram viewer

E, se você quiser descobrir quais itens estão em um

ChoiceBox
você pode usar o
getItems
método:
Opções da lista = options.getItems ();

Para escolher uma opção a ser selecionada no momento, use o

setValue
e forneça uma das opções:
options.setValue ("Primeiro");

Para obter o valor da opção atualmente selecionada, use o correspondente

Obter valor
método e atribuí-lo a um Corda:
Opção de string = options.getValue (). ToString ();

Manipulação de eventos

Para ouvir os eventos de um

ChoiceBox
objeto, o
SelectionModel
é usado. o
ChoiceBox
usa o
SingleSelectionModel
classe que permite que apenas uma opção seja escolhida por vez. o
selectedIndexProperty
O método nos permite adicionar um
ChangeListener
. Isso significa que sempre que a opção selecionada for alterada para outra opção, o evento de alteração ocorrerá. Como você pode ver no código abaixo, uma alteração é ouvida e, quando ocorre, a opção selecionada anteriormente e a nova opção selecionada podem ser determinadas:
opções finais da lista = options.getItems ();
options.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener () {
@Override public void alterado (ObservableValue ov, Number oldSelected, Number newSelected) {
System.out.println ("Antiga opção selecionada:" + options.get (oldSelected.intValue ()));
System.out.println ("Nova opção selecionada:" + options.get (newSelected.intValue ()));
}
});

Também é possível mostrar ou ocultar a lista de opções sem que o usuário precise clicar no

ChoiceBox
objeto usando o
mostrar
e
ocultar
métodos. No código abaixo, um objeto Button é usado para chamar o método show de um
ChoiceBox
objeto quando o
Botão
é clicado:
// Use uma stackpane para um layout simples dos controles
Raiz do StackPane = novo StackPane ();
// Botão Criar para mostrar as opções no ChoiceBox
Button showOptionButton = new Button ("Mostrar opções");
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, pos. TOP_CENTER);
// Crie o ChoiceBox com algumas opções
opções finais da ChoiceBox = nova ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Laranja", "Pêssego", "Pêra", "Morango"));
root.getChildren (). add (opções);
// Use o ActionEvent para chamar o método show ChoiceBox
showOptionButton.setOnAction (new EventHandler () {
@ Substituir o identificador de vazio público (ActionEvent e) {
escolhas.show ();
}
});
// Defina a cena e coloque o palco em movimento.
Cena cena = nova cena (raiz, 300, 250);
primaryStage.setScene (scene);
primaryStage.show ();

Para descobrir outros controles JavaFX, consulte JavaFX User Interface Controls.

instagram story viewer