Swing طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في الـ JList

المثال التالي يعلمك طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في كائن الـ JList.
هنا النتيجة تتغير مباشرةً أثناء إختيار العناصر من القائمة.


مثال

Main.java
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
 
public class Main {
 
    // هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
    static JFrame frame = new JFrame("JList demo");
    static DefaultListModel model = new DefaultListModel();
    static JList list = new JList( model );
    static JScrollPane listScrollPane = new JScrollPane( list );
    static JLabel totalSelected = new JLabel("Total Selected:");
    static JLabel selectedItems = new JLabel("Selected Items:");
 
    public static void main(String[] args) {
 
        // frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
        listScrollPane.setBounds(20, 40, 100, 230);
        totalSelected.setBounds(140, 40, 340, 30);
        selectedItems.setBounds(140, 80, 340, 30);
 
        // و التي بدورها ستظهر في القائمة model هنا أضفنا عدة عناصر في الـ
        model.addElement("red");
        model.addElement("blue");
        model.addElement("green");
        model.addElement("yellow");
        model.addElement("orange");
        model.addElement("brown");
        model.addElement("pink");
        model.addElement("purple");
        model.addElement("gray");
        model.addElement("black");
        model.addElement("white");
 
        // frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
        frame.add(listScrollPane);
        frame.add(totalSelected);
        frame.add(selectedItems);
 
        // frame هنا قمنا بتحديد خصائص الـ
        frame.setSize(550, 350);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
        frame.setVisible(true);
 
        // list هنا نضع الأوامر التي نريدها أن تتنفذ عند إختيار أي عنصر موجود في القائمة
        list.addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e)
            {
                // سيتم عرض عدد العناصر التي قام المستخدم باختيارها و بالإضافة إلى قيمهم
                totalSelected.setText("Total Selected: "+list.getSelectedIndices().length);
                selectedItems.setText("Selected Items: "+list.getSelectedValuesList());
            }
        });
 
    }
 
}
		

ستظهر لك النافذة التالية عند التشغيل.

لإختيار أكثر من عنصر, أبقي إصبعك على الزر Ctrl أثناء إختيار العناصر.

طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في القائمة Jفي جافا

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة