Swingطريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في الـ JList
عند النقر زر
المثال التالي يعلمك طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في كائن الـ JList
عند النقر على كائن الـ JButton
.
مثال
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultListModel; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JLabel; import javax.swing.JButton; import javax.swing.JScrollPane; 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 JButton viewSelected = new JButton("View Selected"); static JLabel totalSelected = new JLabel(); static JLabel selectedItems = new JLabel(); public static void main(String[] args) { // frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ listScrollPane.setBounds(20, 40, 100, 230); viewSelected.setBounds(140, 40, 150, 30); totalSelected.setBounds(140, 80, 340, 30); selectedItems.setBounds(140, 120, 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(viewSelected); frame.add(totalSelected); frame.add(selectedItems); // frame هنا قمنا بتحديد خصائص الـ frame.setSize(550, 350); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(null); frame.setVisible(true); // viewSelected هنا نضع الأوامر التي نريد تنفيذها عند النقر على الـ viewSelected.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // سيتم عرض عدد العناصر التي قام المستخدم باختيارها و بالإضافة إلى قيمهم totalSelected.setText("Total Selected: "+list.getSelectedIndices().length); selectedItems.setText("Selected Items: "+list.getSelectedValuesList()); } }); } }
ستظهر لك النافذة التالية عند التشغيل. قم بإختيار بعض العناصر ثم أنقر الزر لتظهر لك النتيجة.
لإختيار أكثر من عنصر, أبقي إصبعك على الزر Ctrl أثناء إختيار العناصر.