Java JList
Obiectul clasei JList reprezintă o listă de elemente text. Lista articolelor text poate fi configurată astfel încât utilizatorul să poată alege fie un articol, fie mai multe elemente. Moștenește clasa JComponent.
Declarație de clasă JList
Să vedem declarația pentru clasa javax.swing.JList.
public class JList extends JComponent implements Scrollable, Accessible
Constructori utilizați în mod obișnuit:
| Constructor | Descriere |
|---|---|
| JList() | Creează un JList cu un model gol, numai pentru citire. |
| JList(ary[] listData) | Creează un JList care afișează elementele din matricea specificată. |
| JList(ListModel dataModel) | Creează un JList care afișează elemente din modelul specificat, non-null. |
Metode utilizate frecvent:
| Metode | Descriere |
|---|---|
| Void addListSelectionListener (ascultător ListSelectionListener) | Este folosit pentru a adăuga un ascultător la listă, pentru a fi notificat de fiecare dată când apare o modificare a selecției. |
| int getSelectedIndex() | Este folosit pentru a returna cel mai mic index de celulă selectat. |
| ListModel getModel() | Este folosit pentru a returna modelul de date care conține o listă de articole afișate de componenta JList. |
| void setListData(Obiect[] listData) | Este folosit pentru a crea un ListModel numai pentru citire dintr-o serie de obiecte. |
Exemplu 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(); }} Ieșire:
Exemplu Java JList cu ActionListener
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(); }} Ieșire: