"All Items" maydonini jcomboboxga qanday qo'shish mumkin

Netbeans'dagi Swing GUI dasturini ishlab chiqishga harakat qilaman. Jcombobox yarataman va uni "ob'ekt" deb nomlangan ob'ektga (so'rovlar komponentini, ro'yxat komponentini va rendererni ishlatib) bog'layman, shuning uchun combobox "Table" da joylashgan "ob'ekt" juda yaxshi ishlaydi. Biroq, men "All Items" maydonini comboboxga qo'shishingiz kerak. Men boshlashim kerak bo'lgan joylarda biron-bir maslahatim bormi?

1
JComboBox ni kengaytirishingiz kerak va u usulni aniqlang.
qo'shib qo'ydi muallif Branislav Lazic, manba
JComboBoxni bir qator bilan ishga tushirishingiz mumkin dreamincode.net/forums/topic/…
qo'shib qo'ydi muallif c0der, manba
JComboBoxni bir qator bilan ishga tushirishingiz mumkin dreamincode.net/forums/topic/…
qo'shib qo'ydi muallif c0der, manba
JComboBoxni bir qator bilan ishga tushirishingiz mumkin dreamincode.net/forums/topic/…
qo'shib qo'ydi muallif c0der, manba

7 javoblar

Jadvaldagi elementlar birlashgan kirish qutisiga qo'shilgandan so'ng, bir narsani kiritish oynasiga qo'l bilan qo'shishingiz mumkin:

comboBox.addItemAt("All Items", 0);

birlashgan kirish qutining yuqori qismida yangi element qo'shiladi.

1
qo'shib qo'ydi
@Sofia, Keyin do'stlaringizdan so'rang yoki kodni sozlash uchun IDE'dan qanday foydalanishni o'rgatadi. Bu sinfda o'rganadigan asosiy narsa bo'lishi kerak.
qo'shib qo'ydi muallif camickr, manba
@Sofia, ID kodini ishlatmayman, shuning uchun men maxsus kodni kiritish uchun qanday qadamlarni bilmayman. Shuning uchun men doim IDE ni ishlatmaslikni maslahat beraman, chunki siz IDEni o'rganish uchun vaqt sarflaysiz va Java/Swingni o'rganmaysiz. Bundan tashqari, siz boshqa IDE-ga ko'chirsangiz, siz yaratadigan kod portativ bo'lmaydi.
qo'shib qo'ydi muallif camickr, manba
@sofia bo'lsa, u holda siz yangi DefautlComboBoxModel yaratishingiz va har bir elementni chiqish modelidan yangi modelga nusxalashingiz kerak. Bu yondashuv Gerry tomonidan berilgan.
qo'shib qo'ydi muallif camickr, manba
@Sofia: siz odatda sizning "combobox" laringizning ma'lumotlarini "qanday qilib" berasiz?
qo'shib qo'ydi muallif Laurent G, manba
Dizayn muhitida comboboxni kiritganingizdan so'ng, men itemQuery va so'rovlar natijalari ro'yxatini yarataman, apimal itemRenderer yaratib, keyin esa comboboxning rendererini itemRenderer-ga qo'yaman. Shuning uchun initComponents() metodining kodi ishlab chiqariladi va uni qo'lda o'zgartira olmaydi.
qo'shib qo'ydi muallif Sofia, manba
Ushbu qo'shimchani initComponents() chaqirgandan keyin qo'shib qo'ydim, ammo "bu usulni o'zgarmas ma'lumotlar modeli bilan ishlatish mumkin emas" istisnosiz.
qo'shib qo'ydi muallif Sofia, manba
Siz bilan umuman rozi bo'lmoqdamiz, afsuski, bu maktab loyihasidir va uni IDE yordamida qilish kerak.
qo'shib qo'ydi muallif Sofia, manba

Jadvaldagi elementlar birlashgan kirish qutisiga qo'shilgandan so'ng, bir narsani kiritish oynasiga qo'l bilan qo'shishingiz mumkin:

comboBox.addItemAt("All Items", 0);

birlashgan kirish qutining yuqori qismida yangi element qo'shiladi.

1
qo'shib qo'ydi
@Sofia, Keyin do'stlaringizdan so'rang yoki kodni sozlash uchun IDE'dan qanday foydalanishni o'rgatadi. Bu sinfda o'rganadigan asosiy narsa bo'lishi kerak.
qo'shib qo'ydi muallif camickr, manba
@Sofia, ID kodini ishlatmayman, shuning uchun men maxsus kodni kiritish uchun qanday qadamlarni bilmayman. Shuning uchun men doim IDE ni ishlatmaslikni maslahat beraman, chunki siz IDEni o'rganish uchun vaqt sarflaysiz va Java/Swingni o'rganmaysiz. Bundan tashqari, siz boshqa IDE-ga ko'chirsangiz, siz yaratadigan kod portativ bo'lmaydi.
qo'shib qo'ydi muallif camickr, manba
@sofia bo'lsa, u holda siz yangi DefautlComboBoxModel yaratishingiz va har bir elementni chiqish modelidan yangi modelga nusxalashingiz kerak. Bu yondashuv Gerry tomonidan berilgan.
qo'shib qo'ydi muallif camickr, manba
@Sofia: siz odatda sizning "combobox" laringizning ma'lumotlarini "qanday qilib" berasiz?
qo'shib qo'ydi muallif Laurent G, manba
Dizayn muhitida comboboxni kiritganingizdan so'ng, men itemQuery va so'rovlar natijalari ro'yxatini yarataman, apimal itemRenderer yaratib, keyin esa comboboxning rendererini itemRenderer-ga qo'yaman. Shuning uchun initComponents() metodining kodi ishlab chiqariladi va uni qo'lda o'zgartira olmaydi.
qo'shib qo'ydi muallif Sofia, manba
Ushbu qo'shimchani initComponents() chaqirgandan keyin qo'shib qo'ydim, ammo "bu usulni o'zgarmas ma'lumotlar modeli bilan ishlatish mumkin emas" istisnosiz.
qo'shib qo'ydi muallif Sofia, manba
Siz bilan umuman rozi bo'lmoqdamiz, afsuski, bu maktab loyihasidir va uni IDE yordamida qilish kerak.
qo'shib qo'ydi muallif Sofia, manba

Jadvaldagi elementlar birlashgan kirish qutisiga qo'shilgandan so'ng, bir narsani kiritish oynasiga qo'l bilan qo'shishingiz mumkin:

comboBox.addItemAt("All Items", 0);

birlashgan kirish qutining yuqori qismida yangi element qo'shiladi.

1
qo'shib qo'ydi
@Sofia, Keyin do'stlaringizdan so'rang yoki kodni sozlash uchun IDE'dan qanday foydalanishni o'rgatadi. Bu sinfda o'rganadigan asosiy narsa bo'lishi kerak.
qo'shib qo'ydi muallif camickr, manba
@Sofia, ID kodini ishlatmayman, shuning uchun men maxsus kodni kiritish uchun qanday qadamlarni bilmayman. Shuning uchun men doim IDE ni ishlatmaslikni maslahat beraman, chunki siz IDEni o'rganish uchun vaqt sarflaysiz va Java/Swingni o'rganmaysiz. Bundan tashqari, siz boshqa IDE-ga ko'chirsangiz, siz yaratadigan kod portativ bo'lmaydi.
qo'shib qo'ydi muallif camickr, manba
@sofia bo'lsa, u holda siz yangi DefautlComboBoxModel yaratishingiz va har bir elementni chiqish modelidan yangi modelga nusxalashingiz kerak. Bu yondashuv Gerry tomonidan berilgan.
qo'shib qo'ydi muallif camickr, manba
@Sofia: siz odatda sizning "combobox" laringizning ma'lumotlarini "qanday qilib" berasiz?
qo'shib qo'ydi muallif Laurent G, manba
Ushbu qo'shimchani initComponents() chaqirgandan keyin qo'shib qo'ydim, ammo "bu usulni o'zgarmas ma'lumotlar modeli bilan ishlatish mumkin emas" istisnosiz.
qo'shib qo'ydi muallif Sofia, manba
Dizayn muhitida comboboxni kiritganingizdan so'ng, men itemQuery va so'rovlar natijalari ro'yxatini yarataman, apimal itemRenderer yaratib, keyin esa comboboxning rendererini itemRenderer-ga qo'yaman. Shuning uchun initComponents() metodining kodi ishlab chiqariladi va uni qo'lda o'zgartira olmaydi.
qo'shib qo'ydi muallif Sofia, manba
Siz bilan umuman rozi bo'lmoqdamiz, afsuski, bu maktab loyihasidir va uni IDE yordamida qilish kerak.
qo'shib qo'ydi muallif Sofia, manba

Ushlab ko'ring

    List listItems = classDAO.findElement();

    DefaultComboBoxModel comboModel = new DefaultComboBoxModel();

    for(String string : listItems)
    {
        comboModel.addElement(string);
    }

    comboModel.addElement("All items");

    JComboBox comboBox = new JComboBox<>(comboModel);
1
qo'shib qo'ydi
Nihoyat, bu aslida ishladi!
qo'shib qo'ydi muallif Sofia, manba

Ushlab ko'ring

    List listItems = classDAO.findElement();

    DefaultComboBoxModel comboModel = new DefaultComboBoxModel();

    for(String string : listItems)
    {
        comboModel.addElement(string);
    }

    comboModel.addElement("All items");

    JComboBox comboBox = new JComboBox<>(comboModel);
1
qo'shib qo'ydi
Nihoyat, bu aslida ishladi!
qo'shib qo'ydi muallif Sofia, manba

Ushlab ko'ring

    List listItems = classDAO.findElement();

    DefaultComboBoxModel comboModel = new DefaultComboBoxModel();

    for(String string : listItems)
    {
        comboModel.addElement(string);
    }

    comboModel.addElement("All items");

    JComboBox comboBox = new JComboBox<>(comboModel);
1
qo'shib qo'ydi
Nihoyat, bu aslida ishladi!
qo'shib qo'ydi muallif Sofia, manba

Ushlab ko'ring

    List listItems = classDAO.findElement();

    DefaultComboBoxModel comboModel = new DefaultComboBoxModel();

    for(String string : listItems)
    {
        comboModel.addElement(string);
    }

    comboModel.addElement("All items");

    JComboBox comboBox = new JComboBox<>(comboModel);
1
qo'shib qo'ydi
Nihoyat, bu aslida ishladi!
qo'shib qo'ydi muallif Sofia, manba