Swingتحديد الطريقة التي يسمح فيها للمستخدم بتحديد العناصر في الـ JList
المثال التالي يعلمك تحديد الطريقة التي يسمح فيها للمستخدم بإختيار العناصر من كائن الـ JList
.
هنا قمنا بوضع نفس كائن الـ DefaultListModel
بداخل ثلاث كائنات من الكلاس JList
لكننا قمنا بتغيير الطريقة التي يسمح فيها للمستخدم بإختيار العناصر في كل كائن منهم.
مثال
import javax.swing.DefaultListModel; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; public class Main { public static void main (String[] args) { // و تحديد خصائصها frame هنا قمنا بتحديد الـ JFrame frame = new JFrame("JList demo"); frame.setSize(530, 280); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(null); // Model أي كأننا قمنا بتعريف .DefaultListModel هنا قمنا بإنشاء كائن من الكلاس DefaultListModel model = new DefaultListModel(); // و التي بدورها ستظهر في كل قائمة تستخدمها model هنا أضفنا عدة عناصر في الـ model.addElement("Mhamad"); model.addElement("Ahmad"); model.addElement("Salem"); model.addElement("Khaled"); model.addElement("Omar"); model.addElement("Said"); model.addElement("Moumen"); model.addElement("Moustafa"); model.addElement("Nidal"); model.addElement("Samir"); model.addElement("Mahmoud"); model.addElement("Rida"); model.addElement("Raja"); model.addElement("Ziad"); model.addElement("Fouad"); model.addElement("Mounir"); model.addElement("Wassim"); model.addElement("Mansour"); model.addElement("Majd"); model.addElement("Kassem"); model.addElement("Ali"); model.addElement("Yahya"); model.addElement("Jamal"); // Model أي ثلاث قوائم. و كلها مبنية تستخدم نفس الـ ,JList هنا قمنا بتعريف ثلاث كائنات من الكلاس JList list_1 = new JList(model); JList list_2 = new JList(model); JList list_3 = new JList(model); // هنا قمنا بتحديد الطريقة التي يسمح فيها للمستخدم بإختيار العناصر في كل قائمة list_1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); list_2.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); list_3.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // عند الحاجة Scroll Bar لضمان ظهور JScrollPane بداخل كائن من الكلاس هنا قمنا بوضع كل قائمة أنشأناها بداخل كائن من الكلاس JScrollPane listScrollPane_1 = new JScrollPane(list_1); JScrollPane listScrollPane_2 = new JScrollPane(list_2); JScrollPane listScrollPane_3 = new JScrollPane(list_3); // frame هنا قمنا بتحديد أماكن القوائم التي سنضيفها في الـ listScrollPane_1.setBounds(40, 40, 100, 150); listScrollPane_2.setBounds(200, 40, 120, 150); listScrollPane_3.setBounds(360, 40, 120, 150); // frame هنا قمنا بإضافة جميع القوائم التي قمنا بتعريفها سابقاً في الـ frame.add(listScrollPane_1); frame.add(listScrollPane_2); frame.add(listScrollPane_3); // هنا جعلنا النافذة مرئية frame.setVisible(true); } }
ستظهر لك النافذة التالية عند التشغيل. حاول إختيار بعض العناصر في كل قائمة.
في القائمة الأولى تستطيع فقط إختيار عنصر واحد منها.
في القائمة الثانية تستطيع إختيار قدر ما شئت من العناصر بشرط أن تكون كلها وراء بعضها.
في القائمة الثالثة تستطيع إختيار قدر ما شئت من العناصر بدون قيود.