• 0

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

قمت بإنشاء JList في تطبيق جافا وأريد تعبئتها بعناصر وإظهارها مع شريط تمرير scroll كيف أقوم بذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 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؟

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن