Java JList
Objekt razreda JList predstavlja seznam besedilnih elementov. Seznam besedilnih elementov je mogoče nastaviti tako, da lahko uporabnik izbere eno ali več elementov. Podeduje razred JComponent.
Deklaracija razreda JList
Oglejmo si deklaracijo za razred javax.swing.JList.
public class JList extends JComponent implements Scrollable, Accessible
Pogosto uporabljeni konstruktorji:
| Konstruktor | Opis |
|---|---|
| JList() | Ustvari JList s praznim modelom samo za branje. |
| JList(ary[] listData) | Ustvari JList, ki prikaže elemente v podani matriki. |
| JList(ListModel dataModel) | Ustvari JList, ki prikazuje elemente iz podanega modela, ki ni ničelni. |
Pogosto uporabljene metode:
| Metode | Opis |
|---|---|
| Ničen addListSelectionListener(poslušalec ListSelectionListener) | Uporablja se za dodajanje poslušalca na seznam, ki bo obveščen vsakič, ko pride do spremembe izbire. |
| int getSelectedIndex() | Uporablja se za vrnitev najmanjšega indeksa izbrane celice. |
| ListModel getModel() | Uporablja se za vrnitev podatkovnega modela, ki vsebuje seznam elementov, prikazanih s komponento JList. |
| void setListData(Object[] listData) | Uporablja se za ustvarjanje ListModela samo za branje iz niza predmetov. |
Primer Java JList
import javax.swing.*; public class ListExample { ListExample(){ JFrame f= new JFrame(); DefaultListModel l1 = new DefaultListModel(); l1.addElement('Item1'); l1.addElement('Item2'); l1.addElement('Item3'); l1.addElement('Item4'); JList 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(); }} Izhod:
Primer Java JList z ActionListenerjem
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 l1 = new DefaultListModel(); l1.addElement('C'); l1.addElement('C++'); l1.addElement('Java'); l1.addElement('PHP'); final JList list1 = new JList(l1); list1.setBounds(100,100, 75,75); DefaultListModel l2 = new DefaultListModel(); l2.addElement('Turbo C++'); l2.addElement('Struts'); l2.addElement('Spring'); l2.addElement('YII'); final JList 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(); }} Izhod: