آموزش JList در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش JList در جاوا می پردازیم از JList به منظور ساخت List استفاده می شود یک List می تواند شامل متن هایی باشد و توسط کاربر قابلیت انتخاب باشد و هر آیتم می تواند یک عملیات خاصی را انجام دهد در ادامه با ما همراه باشید تا نحوه استفاده از JList در جاوا یاد گیرید.
در بالا دلایل استفاده از List را بیان کردیم در ادامه Constructor های JList را بررسی خواهیم کرد.
Constructor های JList به دو بخش تقسیم می شوند که عبارتند از :
- JList : یک List ساده و خالی ایحاد می کند.
- JList(ary[] listData : یک آرایه از داده را باید به آن ارسال شود.
برخی از متدهای مهم JList را در ادامه بررسی می کنیم.
addListSelectionListener : به منظور تعریف Click Listener بر روی آیتم ها استفاده می شود.
getSelectedIndex : آیتمی که انتخاب شده position آن را بر می گرداند.
setListData : برای تنظیم آیتم ها استفاده می شود.
در ادامه یک مثال ساده از List را برای شما قرار می دهیم یک کلاس به نام ListExample ایجاد کنید و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import javax.swing.*; public class ListExample { ListExample(){ JFrame f= new JFrame(); DefaultListModel<String> l1 = new DefaultListModel<>(); l1.addElement("Item1"); l1.addElement("Item2"); l1.addElement("Item3"); l1.addElement("Item4"); JList<String> list = new JList<>(l1); list.setBounds(100,100, 75,75); f.add(list); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new ListExample(); }} |
در بالا باید یکسری داده برای اینکه در List قرار دهیم بسازیم برای اینکار از DefaultListModel یک مدل داده از نوع List میسازیم و داده ها را به آن اضافه می کنیم سپس آن را به JList می دهیم.
خروجی کد بالا همانند زیر خواهد بود.
برای اینکه ActionListener به کد بالا اضافه کنیم تا متوجه شویم کدام یک از آیتم ها انتخاب شده است می توانید از کد زیر استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import javax.swing.*; import java.awt.event.*; public class ListExample { ListExample(){ JFrame f= new JFrame(); final JLabel label = new JLabel(); label.setSize(500,100); JButton b=new JButton("Show"); b.setBounds(200,150,80,30); final DefaultListModel<String> l1 = new DefaultListModel<>(); l1.addElement("C"); l1.addElement("C++"); l1.addElement("Java"); l1.addElement("PHP"); final JList<String> list1 = new JList<>(l1); list1.setBounds(100,100, 75,75); DefaultListModel<String> l2 = new DefaultListModel<>(); l2.addElement("Turbo C++"); l2.addElement("Struts"); l2.addElement("Spring"); l2.addElement("YII"); final JList<String> list2 = new JList<>(l2); list2.setBounds(100,200, 75,75); f.add(list1); f.add(list2); f.add(b); f.add(label); f.setSize(450,450); f.setLayout(null); f.setVisible(true); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String data = ""; if (list1.getSelectedIndex() != -1) { data = "Programming language Selected: " + list1.getSelectedValue(); label.setText(data); } if(list2.getSelectedIndex() != -1){ data += ", FrameWork Selected: "; for(Object frame :list2.getSelectedValues()){ data += frame + " "; } } label.setText(data); } }); } public static void main(String args[]) { new ListExample(); }} |
خروجی کد بالا همانند زیر خواهد بود.
این آموزش هم به پایان رسید.
موفق باشید.