Java JList
Objektet för klassen JList representerar en lista med textobjekt. Listan med textobjekt kan ställas in så att användaren kan välja antingen ett objekt eller flera objekt. Den ärver JComponent-klassen.
JList klassdeklaration
Låt oss se deklarationen för javax.swing.JList-klassen.
public class JList extends JComponent implements Scrollable, Accessible
Vanligt använda konstruktörer:
| Konstruktör | Beskrivning |
|---|---|
| JList() | Skapar en JList med en tom, skrivskyddad modell. |
| JList(ary[] listData) | Skapar en JList som visar elementen i den angivna arrayen. |
| JList(ListModel dataModel) | Skapar en JList som visar element från den specificerade, icke-nullmodellen. |
Vanligt använda metoder:
| Metoder | Beskrivning |
|---|---|
| Void addListSelectionListener(ListSelectionListener lyssnare) | Den används för att lägga till en lyssnare i listan, för att meddelas varje gång en ändring av urvalet sker. |
| int getSelectedIndex() | Den används för att returnera det minsta markerade cellindexet. |
| ListModel getModel() | Den används för att returnera datamodellen som innehåller en lista över objekt som visas av JList-komponenten. |
| void setListData(Object[] listData) | Den används för att skapa en skrivskyddad ListModel från en array av objekt. |
Exempel på 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(); }} Produktion:
Java JList Exempel med 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(); }} Produktion: