JavaFX-kontroller og ComboBox

click fraud protection

ComboBox-klassen opretter en kontrol, der giver brugeren mulighed for at vælge en mulighed fra en rulleliste med indstillinger. Rullelisten vises, når brugeren klikker på ComboBox-kontrollen. Når antallet af indstillinger overstiger størrelsen på rullelisten, kan brugeren rulle ned til yderligere indstillinger. Dette adskiller sig fra ChoiceBox som primært bruges, når antallet af valg er et relativt lille sæt.

Importerklæring

javafx.scene.control. Kombinationsfelt

Constructors

ComboBox-klassen har to konstruktører afhængigt af om du vil oprette et tomt ComboBox-objekt eller en befolket med genstande.

Sådan opretter du en tom ComboBox

ComboBox frugt = ny ComboBox ();

Sådan opretter du et ComboBox-objekt og udfylder det med strengelementer fra en ObservableList

ObservableList frugter = FXCollections.observableArrayList ( 
"Apple", "Banana", "Pear", "Strawberry", "Peach", "Orange", "Plum");
ComboBox frugt = ny ComboBox (frugt);

Nyttige metoder

Hvis du opretter et tomt ComboBox-objekt, kan du bruge metoden setItems. Ved at videregive en observerbar liste over objekter indstilles elementerne i Combobox.

instagram viewer

ObservableList frugter = FXCollections.observableArrayList ( 
"Apple", "Banana", "Pear", "Strawberry", "Peach", "Orange", "Plum");
fruit.setItems (frugter);

Hvis du senere vil tilføje elementer til ComboBox-listen, kan du bruge addAll-metoden i getItems-metoden. Dette tilføjer elementerne til slutningen af ​​indstillingslisten:

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

For at tilføje en indstilling til et bestemt sted i ComboBox-indstillingslisten skal du bruge tilføjelsesmetoden til getItems-metoden. Denne metode tager en indeksværdi og den værdi, du vil tilføje:

fruit.getItems (). tilføj (1, "Citron");

Bemærk: Indeksværdierne for ComboBox starter ved 0. F.eks. Indsættes ovennævnte værdi af "Lemon" ovenfor i ComboBox-indstillingslisten på position 2, da indeks, der er bestået, er 1.

For at vælge en indstilling på listen over indstillinger af ComboBox skal du bruge metoden setValue:

fruit.setValue ( "Cherry");

Hvis den værdi, der overføres til metoden SetValue, ikke er på listen, vil værdien stadig blive valgt. Det betyder dog ikke, at denne værdi er føjet til listen. Hvis brugeren derefter vælger en anden værdi, vil den første værdi ikke længere være på listen, der skal vælges.

For at få værdien af ​​det aktuelt valgte element i ComboBox skal du bruge getItems-metoden:

Streng valgt = fruit.getValue (). ToString ();

Tips til brug

Antallet af optioner, der normalt præsenteres af rullelisten ComboBox, er ti (medmindre der er mindre end ti elementer, i hvilket tilfælde det er standard for antallet af varer). Dette nummer kan ændres ved hjælp af metoden setVisibleRowCount:

fruit.setVisibleRowCount (25);

Igen, hvis antallet af elementer på listen er mindre end den værdi, der er angivet i metoden setVisibleRowCount, vil ComboBox som standard vise antallet af elementer i rullemenuen ComboBox.

Håndtering af begivenheder

For at spore valg af emner på et ComboBox-objekt kan du bruge addListener-metoden til valgtItem Egenskabsmetode i SelectionModel for at oprette en ChangeListener Den henter ændringshændelserne til ComboBox:

final Label choiceLabel = new Label ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
ny ChangeListener () {
offentlig tomrum ændret (ObservableValue ov,
Streng old_val, String new_val) {
choiceLabel.setText (new_val);
}
});
instagram story viewer