عناصر تحكم JavaFX و ComboBox

click fraud protection

تقوم فئة ComboBox بإنشاء عنصر تحكم يتيح للمستخدم تحديد خيار من قائمة الخيارات المنسدلة. تظهر القائمة المنسدلة عندما ينقر المستخدم على عنصر التحكم مربع تحرير وسرد. عندما يتجاوز عدد الخيارات حجم النافذة المنسدلة ، يمكن للمستخدم الانتقال لأسفل إلى خيارات أخرى. هذا يختلف عن ChoiceBox الذي يستخدم في المقام الأول عندما يكون عدد الخيارات مجموعة صغيرة نسبيا.

بيان الاستيراد

javafx.scene.control. صندوق التحرير

البنائين

فئة ComboBox اثنين بناة اعتمادًا على ما إذا كنت تريد إنشاء كائن ComboBox فارغ أو كائن مملوء بالعناصر.

لإنشاء مربع تحرير وسرد فارغ

ComboBox الفاكهة = ComboBox () جديدة ؛

لإنشاء كائن ComboBox ونشره بعناصر String من قائمة ObservableList

الفواكه التي يمكن ملاحظتها = FXCollections.observableArrayList ( 
"Apple" ، "Banana" ، "Pear" ، "Strawberry" ، "Peach" ، "Orange" ، "Plum") ؛
فاكهة السرد (ComboBox) = فاكهة السرد (ComboBox) الجديدة ؛

طرق مفيدة

إذا قمت بإنشاء كائن ComboBox فارغ ، يمكنك استخدام الأسلوب setItems. سيؤدي تمرير ObservableList للكائنات إلى تعيين العناصر الموجودة في Combobox.

الفواكه التي يمكن ملاحظتها = FXCollections.observableArrayList ( 
instagram viewer

"Apple" ، "Banana" ، "Pear" ، "Strawberry" ، "Peach" ، "Orange" ، "Plum") ؛
fruit.setItems (الفواكه) ؛

إذا كنت ترغب في إضافة عناصر إلى قائمة ComboBox لاحقًا ، يمكنك استخدام طريقة addAll للأسلوب getItems. سيؤدي ذلك إلى إلحاق العناصر بنهاية قائمة الخيارات:

fruit.getItems (). addAll ("Melon"، "Cherry"، "Blackberry")؛

لإضافة خيار إلى مكان معين في قائمة خيارات ComboBox ، استخدم طريقة الإضافة لأسلوب getItems. تأخذ هذه الطريقة قيمة الفهرس والقيمة التي ترغب في إضافتها:

fruit.getItems (). add (1، "Lemon")؛

ملحوظة: تبدأ قيم فهرس ComboBox في 0. على سبيل المثال ، سيتم إدراج القيمة أعلاه "Lemon" أعلاه في قائمة خيار ComboBox في الموضع 2 حيث أن المؤشر الذي تم تمريره هو 1.

لتحديد خيار مسبق في قائمة خيارات ComboBox ، استخدم طريقة setValue:

fruit.setValue ("Cherry") ؛

إذا لم تكن القيمة التي تم تمريرها إلى طريقة setValue في القائمة ، فستظل القيمة محددة. ومع ذلك ، هذا لا يعني أنه تمت إضافة هذه القيمة إلى القائمة. إذا اختار المستخدم لاحقًا قيمة أخرى ، فلن تكون القيمة الأولية في القائمة التي سيتم تحديدها.

للحصول على قيمة العنصر المحدد حاليًا في ComboBox ، استخدم طريقة getItems:

السلسلة المحددة = fruit.getValue (). toString ()؛

نصائح الاستخدام

عدد الخيارات التي يتم تقديمها عادةً من خلال القائمة المنسدلة ComboBox هو عشرة (ما لم يكن هناك أقل من عشرة عناصر في هذه الحالة ، يتم تعيين عدد العناصر في هذه الحالة افتراضيًا). يمكن تغيير هذا الرقم باستخدام طريقة setVisibleRowCount:

fruit.setVisibleRowCount (25) ؛

مرة أخرى ، إذا كان عدد العناصر في القائمة أقل من القيمة المعينة في طريقة setVisibleRowCount ، فسيقوم مربع التحرير والسرد افتراضيًا بعرض عدد العناصر في القائمة المنسدلة ComboBox.

التعامل مع الأحداث

لتتبع تحديد العناصر على كائن ComboBox ، يمكنك استخدام طريقة addListener الخاصة بـ selectItemProperty طريقة SelectionModel لإنشاء ChangeListener وسوف تلتقط أحداث التغيير لـ ComboBox:

final Label selectLabel = new Label ()؛
fruit.getSelectionModel (). selectItemProperty (). addListener (
ChangeListener () {
تم تغيير الفراغ العام (ObservableValue ov ،
سلسلة old_val ، سلسلة new_val) {
selectLabel.setText (new_val) ؛
}
});
instagram story viewer