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.
zakaj je niz nespremenljiv v Javi
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:
c koda abs
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: