Έλεγχοι JavaFX και ComboBox

Η κλάση ComboBox δημιουργεί ένα στοιχείο ελέγχου που επιτρέπει στο χρήστη να επιλέξει μια επιλογή από μια αναπτυσσόμενη λίστα επιλογών. Η αναπτυσσόμενη λίστα εμφανίζεται όταν ο χρήστης κάνει κλικ στο στοιχείο ελέγχου ComboBox. Όταν ο αριθμός των επιλογών υπερβαίνει το μέγεθος του αναπτυσσόμενου παραθύρου, ο χρήστης μπορεί να μετακινηθεί προς τα κάτω σε περαιτέρω επιλογές. Αυτό διαφέρει από το ChoiceBox που χρησιμοποιείται κυρίως όταν ο αριθμός των επιλογών είναι σχετικά μικρό σύνολο.

Δήλωση εισαγωγής

javafx.scene.control. ComboBox

Κατασκευαστές

Η κλάση ComboBox έχει δύο κατασκευαστές ανάλογα με το αν θέλετε να δημιουργήσετε ένα κενό αντικείμενο ComboBox ή ένα κενό με αντικείμενα.

Για να δημιουργήσετε ένα κενό ComboBox

ComboBox φρούτα = νέο ComboBox ();

Για να δημιουργήσετε ένα αντικείμενο ComboBox και να το συμπληρώσετε με στοιχεία στοιχειοσειράς από μια λίστα παρατηρήσεων

Παρακολούθηση φρούτων = FXCollections.observableArrayList ( 
"Μήλο", "Μπανάνα", "Αχλάδι", "Φράουλα", "Ροδάκινο", "Πορτοκαλί", "Plum")?
ComboBox φρούτα = νέο ComboBox (φρούτα);
instagram viewer

Χρήσιμες μέθοδοι

Εάν δημιουργήσετε ένα κενό αντικείμενο ComboBox, μπορείτε να χρησιμοποιήσετε τη μέθοδο setItems. Η μετάβαση σε ένα Observationblelist αντικειμένων θα ορίσει τα στοιχεία στο Combobox.

Παρακολούθηση φρούτων = FXCollections.observableArrayList ( 
"Μήλο", "Μπανάνα", "Αχλάδι", "Φράουλα", "Ροδάκινο", "Πορτοκαλί", "Plum")?
οπωροκηπευτικά (φρούτα);

Εάν θέλετε να προσθέσετε στοιχεία στη λίστα ComboBox αργότερα, μπορείτε να χρησιμοποιήσετε τη μέθοδο addAll της μεθόδου getItems. Αυτό θα προσθέσει τα στοιχεία στο τέλος της λίστας επιλογών:

Προσθήκη όλων ("Πεπόνι", "Κεράσι", "Blackberry").

Για να προσθέσετε μια επιλογή σε μια συγκεκριμένη θέση στη λίστα επιλογών ComboBox, χρησιμοποιήστε τη μέθοδο προσθήκης της μεθόδου getItems. Αυτή η μέθοδος λαμβάνει μια τιμή δείκτη και την τιμή που θέλετε να προσθέσετε:

(1), "Lemon").

Σημείωση: Οι τιμές δείκτη του ComboBox αρχίζουν στο 0. Για παράδειγμα, η παραπάνω τιμή του "Λεμόνι" παραπάνω θα εισαχθεί στη λίστα επιλογών ComboBox στη θέση 2 καθώς ο δείκτης που πέρασε είναι 1.

Για να επιλέξετε εκ των προτέρων μια επιλογή στη λίστα επιλογών ComboBox, χρησιμοποιήστε τη μέθοδο setValue:

fruit.setValue ("κεράσι");

Εάν η τιμή που περάσατε στη μέθοδο setValue δεν είναι στη λίστα, τότε η τιμή θα εξακολουθεί να είναι επιλεγμένη. Ωστόσο, δεν σημαίνει ότι αυτή η τιμή έχει προστεθεί στη λίστα. Εάν ο χρήστης επιλέγει στη συνέχεια μια άλλη τιμή, τότε η αρχική τιμή δεν θα βρίσκεται πλέον στη λίστα που θα επιλεγεί.

Για να λάβετε την τιμή του τρέχοντος επιλεγμένου στοιχείου στο ComboBox, χρησιμοποιήστε τη μέθοδο getItems:

Επιλεγμένη ακολουθία = fruit.getValue (). ToString ();

Συμβουλές Χρήσης

Ο αριθμός των επιλογών που παρουσιάζονται κανονικά από τον αναπτυσσόμενο κατάλογο ComboBox είναι δέκα (εκτός εάν υπάρχουν λιγότερα από δέκα στοιχεία, οπότε η προεπιλεγμένη τιμή είναι ο αριθμός των αντικειμένων). Αυτός ο αριθμός μπορεί να αλλάξει χρησιμοποιώντας τη μέθοδο setVisibleRowCount:

fruit.setVisibleRowCount (25).

Και πάλι, εάν ο αριθμός των αντικειμένων στη λίστα είναι μικρότερος από την τιμή που έχει οριστεί στη μέθοδο setVisibleRowCount, το ComboBox θα εμφανίσει τον αριθμό των στοιχείων στο αναπτυσσόμενο μενού ComboBox.

Διαχείριση Γεγονότων

Για να παρακολουθήσετε την επιλογή αντικειμένων σε ένα αντικείμενο ComboBox μπορείτε να χρησιμοποιήσετε τη μέθοδο addListener του selectedItemProperty μέθοδος του SelectionModel για να δημιουργήσετε ένα ChangeListener Θα πάρει τα γεγονότα αλλαγή για το ComboBox:

τελική επιλογή ετικέταςLabel = νέα ετικέτα ();
fruit.getSelectionModel () selectedItemProperty () .dataListener ()
new ChangeListener () {
το δημόσιο κενό άλλαξε (ObservationValue ov,
String old_val, String new_val) {
επιλογήLabel.setText (new_val);
}
});
instagram story viewer