Controles JavaFX e ComboBox

A classe ComboBox cria um controle que permite ao usuário selecionar uma opção em uma lista suspensa de opções. A lista suspensa aparece quando o usuário clica no controle ComboBox. Quando o número de opções excede o tamanho da janela suspensa, o usuário pode rolar para baixo para mais opções. Isso difere do ChoiceBox que é usado principalmente quando o número de opções é um conjunto relativamente pequeno.

Declaração de importação

javafx.scene.control. Caixa combo

Construtores

A classe ComboBox possui dois construtores dependendo se você deseja criar um objeto ComboBox vazio ou um preenchido com itens.

Para criar uma caixa de combinação vazia

ComboBox fruit = new ComboBox ();

Para criar um objeto ComboBox e preenchê-lo com itens String de um ObservableList

ObservableList fruits = FXCollections.observableArrayList ( 
"Maçã", "Banana", "Pêra", "Morango", "Pêssego", "Laranja", "Ameixa");
ComboBox fruit = nova ComboBox (frutas);

Métodos úteis

Se você criar um objeto ComboBox vazio, poderá usar o método setItems. Passar uma ObservableList de objetos definirá os itens na caixa de combinação.

instagram viewer
ObservableList fruits = FXCollections.observableArrayList ( 
"Maçã", "Banana", "Pêra", "Morango", "Pêssego", "Laranja", "Ameixa");
fruit.setItems (frutas);

Se você desejar adicionar itens à lista ComboBox posteriormente, poderá usar o método addAll do método getItems. Isso anexará os itens ao final da lista de opções:

fruit.getItems (). addAll ("Melão", "Cereja", "Amora");

Para adicionar uma opção a um local específico na lista de opções ComboBox, use o método add do método getItems. Este método utiliza um valor de índice e o valor que você deseja adicionar:

fruit.getItems (). add (1, "Limão");

Nota: Os valores de índice do ComboBox começam em 0. Por exemplo, o valor acima de "Lemon" acima será inserido na lista de opções ComboBox na posição 2, pois o índice passado é 1.

Para pré-selecionar uma opção na lista de opções da ComboBox, use o método setValue:

fruit.setValue ("Cherry");

Se o valor passado para o método setValue não estiver na lista, o valor ainda será selecionado. No entanto, isso não significa que esse valor foi adicionado à lista. Se o usuário escolher outro valor posteriormente, o valor inicial não estará mais na lista a ser selecionada.

Para obter o valor do item atualmente selecionado na ComboBox, use o método getItems:

String selecionada = fruit.getValue (). ToString ();

Dicas de uso

O número de opções normalmente apresentadas pela lista suspensa ComboBox é dez (a menos que haja menos de dez itens; nesse caso, o padrão é o número de itens). Este número pode ser alterado usando o método setVisibleRowCount:

fruit.setVisibleRowCount (25);

Novamente, se o número de itens na lista for menor que o valor definido no método setVisibleRowCount, a ComboBox usará como padrão a exibição do número de itens na lista suspensa ComboBox.

Manipulação de Eventos

Para rastrear a seleção de itens em um objeto ComboBox, você pode usar o método addListener do Método selectedItemProperty do SelectionModel para criar um ChangeListener Ele selecionará os eventos de alteração para a ComboBox:

final Label selectionLabel = new Label ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
novo ChangeListener () {
vazio público alterado (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});
instagram story viewer