Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

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

المثال التالي يعلمك تحديد الطريقة التي يسمح فيها للمستخدم بإختيار العناصر من كائن الـ JList.
هنا قمنا بوضع نفس كائن الـ DefaultListModel بداخل ثلاث كائنات من الكلاس JList لكننا قمنا بتغيير الطريقة التي يسمح فيها للمستخدم بإختيار العناصر في كل كائن منهم.


مثال

Main.java
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);
 
    }
 
}

ستظهر لك النافذة التالية عند التشغيل. حاول إختيار بعض العناصر في كل قائمة.

في القائمة الأولى تستطيع فقط إختيار عنصر واحد منها.

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

في القائمة الثالثة تستطيع إختيار قدر ما شئت من العناصر بدون قيود.

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