Obiekt klasy JList reprezentuje listę elementów tekstowych. Listę elementów tekstowych można skonfigurować w taki sposób, aby użytkownik mógł wybrać jeden lub wiele elementów. Dziedziczy klasę JComponent.
Java dołącz ciąg
Deklaracja klasy JList
Zobaczmy deklarację klasy javax.swing.JList.
public class JList extends JComponent implements Scrollable, Accessible
Często używane konstruktory:
Konstruktor | Opis |
---|---|
JLista() | Tworzy listę JList z pustym modelem tylko do odczytu. |
JList(ary[]listData) | Tworzy JList, która wyświetla elementy w określonej tablicy. |
JList(Model danychListModel) | Tworzy JList, która wyświetla elementy z określonego modelu o wartości innej niż null. |
Powszechnie stosowane metody:
Metody | Opis |
---|---|
Void addListSelectionListener (odbiornik ListSelectionListener) | Służy do dodania słuchacza do listy, aby otrzymywać powiadomienia za każdym razem, gdy nastąpi zmiana w wyborze. |
int getSelectedIndex() | Służy do zwracania najmniejszego indeksu wybranej komórki. |
ListaModel getModel() | Służy do zwracania modelu danych przechowującego listę elementów wyświetlanych przez komponent JList. |
void setListData(Obiekt[] listaData) | Służy do tworzenia ListModel tylko do odczytu z tablicy obiektów. |
Przykład 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(); }}
Wyjście:
javac nie jest rozpoznawany
Przykład Java JList z 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(); }}
Wyjście: