اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

تُمكّنك JList من عرض قائمة من العناصر مع إمكانية وضع شريط تمرير scrollBar. تختلف JList عن باقي الـ Collections إذ أنه لا توجد طريقة مباشرة لتعبئتها مثلًا باستخدام الدالة add().

يجب أولًا قبل تعبئة JList أن نُنشئ مصفوفة array وتعبئتها بالعناصر المطلوبة ومن ثم تقوم بإعطاء المصفوفة للـ JList في الـConstructor.

مثال:

JList list;
	String[] listColorNames = { "black", "blue", "green", "yellow",
			"white" };

عند إنشاء الغرض JList نمرر المصفوفة في الـConstructor كما في المثال التالي:

list = new JList(listColorNames);

يوفر الصف JList تحديد نمط الاختيار من القائمة (اختيار أحادي Single Selection أو اختيار ثنائي Multiple Selection) باستخدام الدالة setSelectionMode كما في المثال التالي:

list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

المثال التالي يشرح طريقة التعامل مع JList وطريقة تطبيق حدث action Listener لأخذ قيمة العنصر المحدد من JList.

مثلًا مصفوفة تحوي على أسماء عدد من الألوان لكل لون قيمة هي قيمة اللون لنرى كيفية أخذ قيمة عنصر اللون وتلوين الخلفية باللون المحدد:

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;
import java.awt.event.*;

public class JMenuExample extends JFrame {

	JList list;
	String[] listColorNames = { "black", "blue", "green", "yellow",
			"white" };
	Color[] listColorValues = { Color.BLACK, Color.BLUE, Color.GREEN,
			Color.YELLOW, Color.WHITE };
	Container contentpane;
	public JMenuExample() {
		super("List Source Demo");
		contentpane = getContentPane();
		contentpane.setLayout(new FlowLayout());
		list = new JList(listColorNames);
		list.setSelectedIndex(0);
		list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		contentpane.add(new JScrollPane(list));
		list.addListSelectionListener(new ListSelectionListener() {

			public void valueChanged(ListSelectionEvent e) {
				contentpane.setBackground(listColorValues[list
						.getSelectedIndex()]);
			}
		});
		setSize(500, 500);
		setVisible(true);
	}
	public static void main(String[] args) {
		JMenuExample test = new JMenuExample();
		test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

عند اختيار اللون Blue مثلًا:

JList.thumb.png.fb6646ef4f97a8b9172b6ba8

كيف أضيف عناصر إلى JList في جافا swing؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...