פקדי JavaFX ו- ComboBox

מחלקת ה- ComboBox יוצרת בקרה המאפשרת למשתמש לבחור אפשרות מרשימת האפשרויות הנפתחת. הרשימה הנפתחת מופיעה כאשר המשתמש לוחץ על פקד ה- ComboBox. כאשר מספר האפשרויות עולה על גודל החלון הנפתח, המשתמש יכול לגלול מטה לאפשרויות נוספות. זה שונה מה- ChoiceBox המשמש בעיקר כאשר מספר האפשרויות הוא קבוצה קטנה יחסית.

הצהרת יבוא

javafx.scene.control. קומבו בוקס

בנאים

לשיעור ComboBox יש שניים בנאים תלוי אם ברצונך ליצור אובייקט ComboBox ריק או כזה שמאוכלס בפריטים.

כדי ליצור קומבו בוקס ריק

פירות ComboBox = ComboBox חדש ();

כדי ליצור אובייקט ComboBox ולאכלס אותו בפריטי מחרוזת מ- ObservableList

פירות נצפים = FXCollections.observableArrayList ( 
"תפוח", "בננה", "אגס", "תות", "אפרסק", "תפוז", "שזיף");
פירות ComboBox = ComboBox חדש (פירות);

שיטות שימושיות

אם אתה יוצר אובייקט ComboBox ריק אתה יכול להשתמש בשיטת setItems. העברת רשימת נצפות של אובייקטים תגדיר את הפריטים ב- Combobox.

פירות נצפים = FXCollections.observableArrayList ( 
"תפוח", "בננה", "אגס", "תות", "אפרסק", "תפוז", "שזיף");
fruit.set פריטים (פירות);

אם ברצונך להוסיף פריטים לרשימת ComboBox בהמשך, תוכל להשתמש בשיטת addAll בשיטת getItems. זה יצרף את הפריטים לסוף רשימת האפשרויות:

instagram viewer

fruit.getItems (). addAll ("מלון", "דובדבן", "Blackberry");

כדי להוסיף אפשרות למקום מסוים ברשימת האפשרויות של ComboBox השתמש בשיטת ההוספה של שיטת getItems. שיטה זו לוקחת ערך אינדקס ואת הערך שברצונך להוסיף:

fruit.getItems (). להוסיף (1, "לימון");

הערה: ערכי האינדקס של ה- 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 של שיטת selectItemProperty של ה- SelectionModel ליצירת ChangeListener היא תאסוף את אירועי השינוי עבור ה- ComboBox:

בחירת התווית הסופית Label = תווית חדשה ();
fruit.getSelectionModel (). selectItemProperty (). addListener ()
ChangeListener חדש () {
חלל הריק הציבורי (ObservableValue ov,
מחרוזת old_val, מחרוזת new_val) {
choiceLabel.setText (new_val);
}
});