Swingطريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في الـ JList
المثال التالي يعلمك طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في كائن الـ JList
.
هنا النتيجة تتغير مباشرةً أثناء إختيار العناصر من القائمة.
مثال
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() { public void valueChanged(ListSelectionEvent e) { // سيتم عرض عدد العناصر التي قام المستخدم باختيارها و بالإضافة إلى قيمهم totalSelected.setText("Total Selected: "+list.getSelectedIndices().length); selectedItems.setText("Selected Items: "+list.getSelectedValuesList()); } }); } }
ستظهر لك النافذة التالية عند التشغيل.
لإختيار أكثر من عنصر, أبقي إصبعك على الزر Ctrl أثناء إختيار العناصر.