Ovládací prvky JavaFX a ComboBox

click fraud protection

Třída ComboBox vytváří ovládací prvek, který umožňuje uživateli vybrat možnost z rozevíracího seznamu možností. Rozbalovací seznam se zobrazí, když uživatel klepne na ovládací prvek ComboBox. Pokud počet možností přesáhne velikost rozevíracího okna, může uživatel přejít na další možnosti. To se liší od ChoiceBox který se používá především, když je počet možností relativně malý soubor.

Importní prohlášení

javafx.scene.control. ComboBox

Konstruktory

Třída ComboBox má dvě konstruktéři v závislosti na tom, zda chcete vytvořit prázdný objekt ComboBox nebo jeden naplněný položkami.

Vytvoření prázdné ComboBox

Ovoce ComboBox = nový ComboBox ();

Chcete-li vytvořit objekt ComboBox a naplnit jej pomocí položek String z ObservableList

ObservableList fruits = FXCollections.observableArrayList ( 
"Apple", "Banana", "Hruška", "Jahoda", "Broskev", "Oranžová", "Švestka");
ComboBox ovoce = nový ComboBox (ovoce);

Užitečné metody

Pokud vytvoříte prázdný objekt ComboBox, můžete použít metodu setItems. Předáním objektu ObservableList nastavíte položky v Comboboxu.

instagram viewer
ObservableList fruits = FXCollections.observableArrayList ( 
"Apple", "Banana", "Hruška", "Jahoda", "Broskev", "Oranžová", "Švestka");
fruit.setItems (fruit);

Pokud chcete později přidat položky do seznamu ComboBox, můžete použít metodu addAll metody getItems. Tím se připojí položky na konec seznamu možností:

fruit.getItems (). addAll ("Meloun", "Cherry", "Blackberry");

Chcete-li přidat možnost na konkrétní místo v seznamu voleb ComboBox, použijte metodu add metody getItems. Tato metoda vezme hodnotu indexu a hodnotu, kterou chcete přidat:

fruit.getItems (). add (1, "Lemon");

Poznámka: Indexové hodnoty ComboBoxu začínají na 0. Například výše uvedená hodnota "Citron" výše bude vložena do seznamu voleb ComboBox na pozici 2, jakmile je index předán 1.

Chcete-li předem vybrat možnost v seznamu voleb ComboBox, použijte metodu setValue:

fruit.setValue („Cherry“);

Pokud hodnota předaná metodě setValue není na seznamu, bude hodnota stále vybrána. Neznamená to však, že tato hodnota byla přidána do seznamu. Pokud uživatel následně vybere jinou hodnotu, počáteční hodnota již nebude v seznamu, který má být vybrán.

Chcete-li získat hodnotu aktuálně vybrané položky v ComboBoxu, použijte metodu getItems:

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

Tipy pro použití

Počet možností, které obvykle nabízí rozevírací seznam ComboBox, je deset (pokud není méně než deset položek, v takovém případě je výchozí počet položek). Toto číslo lze změnit pomocí metody setVisibleRowCount:

fruit.setVisibleRowCount (25);

Pokud je počet položek v seznamu menší než hodnota nastavená v metodě setVisibleRowCount, bude ComboBox standardně zobrazovat počet položek v rozevíracím seznamu ComboBox.

Zpracování událostí

Chcete-li sledovat výběr položek na objektu ComboBox, můžete použít metodu addListener selectedItemProperty metoda SelectionModel k vytvoření ChangeListener Vyvolá události změny pro ComboBox:

final Label selectionLabel = new Label ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
new ChangeListener () {
změněno veřejné prázdno (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});
instagram story viewer