import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
// هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
static JFrame frame = new JFrame("JList demo");
// هنا قمنا بإنشاء العنوان الذي سنضعه فوق القائمة الأولى
static JLabel label_1 = new JLabel("Select Language");
// هنا قمنا بإنشاء القائمة الأولى
static DefaultListModel model_1 = new DefaultListModel();
static JList list_1 = new JList( model_1 );
static JScrollPane listScrollPane_1 = new JScrollPane( list_1 );
// هنا قمنا بإنشاء العنوان الذي سنضعه فوق القائمة الثانية
static JLabel label_2 = new JLabel("Select Level");
// هنا قمنا بإنشاء القائمة الثانية
static DefaultListModel model_2 = new DefaultListModel();
static JList list_2 = new JList( model_2 );
static JScrollPane listScrollPane_2 = new JScrollPane( list_2 );
// هنا قمنا بإنشاء الزر الموضوع تحت القائمتين و العناوين الذي سيظهر عند النقر على الزر/span>
static JButton btn = new JButton("View Selected");
static JLabel label_3 = new JLabel("", JLabel.CENTER);
public static void main(String[] args) {
// frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
label_1.setBounds(50, 25, 100, 30);
listScrollPane_1.setBounds(50, 60, 100, 94);
label_2.setBounds(190, 25, 100, 30);
listScrollPane_2.setBounds(190, 60, 100, 94);
btn.setBounds(100, 200, 130, 30);
label_3.setBounds(0, 250, 350, 30);
// و التي بدورها ستظهر في القائمة الأولى model_1 هنا أضفنا عدة عناصر في الـ
model_1.addElement("java");
model_1.addElement("c++");
model_1.addElement("c#");
model_1.addElement("vb");
// و التي بدورها ستظهر في القائمة الثانية model_2 هنا أضفنا عدة عناصر في الـ
model_2.addElement("101");
model_2.addElement("102");
model_2.addElement("103");
// هنا جعلنا أول قيمة في القائمة الأولى مختارة إفتراضياً بالإضافة إلى أن المستخدم لا يستطيع إختيار أكثر من قيمة منها في وقت واحد
list_1.setSelectedIndex(0);
list_1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// هنا جعلنا أول قيمة في القائمة الثانية مختارة إفتراضياً بالإضافة إلى أن المستخدم لا يستطيع إختيار أكثر من قيمة منها في وقت واحد
list_2.setSelectedIndex(0);
list_2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
frame.add(listScrollPane_1);
frame.add(listScrollPane_2);
// frame هنا قمنا بتحديد خصائص الـ
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// btn هنا نضع الأوامر التي نريد تنفيذها عند النقر على الـ
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
// سيتم عرض القيم التي إختارها المستخدم أسفل الزر
label_3.setText("You select: " + list_1.getSelectedValue() + " [ " + list_2.getSelectedValue() + " ]" );
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
// هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
static JFrame frame = new JFrame("JList demo");
// هنا قمنا بإنشاء العنوان الذي سنضعه فوق القائمة الأولى
static JLabel label_1 = new JLabel("Select Language");
// هنا قمنا بإنشاء القائمة الأولى
static DefaultListModel model_1 = new DefaultListModel();
static JList list_1 = new JList( model_1 );
static JScrollPane listScrollPane_1 = new JScrollPane( list_1 );
// هنا قمنا بإنشاء العنوان الذي سنضعه فوق القائمة الثانية
static JLabel label_2 = new JLabel("Select Level");
// هنا قمنا بإنشاء القائمة الثانية
static DefaultListModel model_2 = new DefaultListModel();
static JList list_2 = new JList( model_2 );
static JScrollPane listScrollPane_2 = new JScrollPane( list_2 );
// هنا قمنا بإنشاء الزر الموضوع تحت القائمتين و العناوين الذي سيظهر عند النقر على الزر/span>
static JButton btn = new JButton("View Selected");
static JLabel label_3 = new JLabel("", JLabel.CENTER);
public static void main(String[] args) {
// frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
label_1.setBounds(50, 25, 100, 30);
listScrollPane_1.setBounds(50, 60, 100, 94);
label_2.setBounds(190, 25, 100, 30);
listScrollPane_2.setBounds(190, 60, 100, 94);
btn.setBounds(100, 200, 130, 30);
label_3.setBounds(0, 250, 350, 30);
// و التي بدورها ستظهر في القائمة الأولى model_1 هنا أضفنا عدة عناصر في الـ
model_1.addElement("java");
model_1.addElement("c");
model_1.addElement("c++");
model_1.addElement("c#");
model_1.addElement("vb");
// و التي بدورها ستظهر في القائمة الثانية model_2 هنا أضفنا عدة عناصر في الـ
model_2.addElement("101");
model_2.addElement("102");
model_2.addElement("103");
// هنا جعلنا أول قيمة في القائمة الأولى مختارة إفتراضياً بالإضافة إلى أن المستخدم لا يستطيع إختيار أكثر من قيمة منها في وقت واحد
list_1.setSelectedIndex(0);
list_1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// هنا جعلنا أول قيمة في القائمة الثانية مختارة إفتراضياً بالإضافة إلى أن المستخدم لا يستطيع إختيار أكثر من قيمة منها في وقت واحد
list_2.setSelectedIndex(0);
list_2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
frame.add(label_1);
frame.add(listScrollPane_1);
frame.add(label_2);
frame.add(listScrollPane_2);
frame.add(btn);
frame.add(label_3);
// frame هنا قمنا بتحديد خصائص الـ
frame.setSize(350, 350);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
frame.setVisible(true);
// btn هنا نضع الأوامر التي نريد تنفيذها عند النقر على الـ
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
// سيتم عرض القيم التي إختارها المستخدم أسفل الزر
label_3.setText("You select: " + list_1.getSelectedValue() + " [ " + list_2.getSelectedValue() + " ]" );
}
});
}
}