JList 클래스의 객체는 텍스트 항목의 목록을 나타냅니다. 사용자가 하나의 항목 또는 여러 항목을 선택할 수 있도록 텍스트 항목 목록을 설정할 수 있습니다. JComponent 클래스를 상속받습니다.
git add --all
JList 클래스 선언
javax.swing.JList 클래스 선언을 살펴보겠습니다.
public class JList extends JComponent implements Scrollable, Accessible
일반적으로 사용되는 생성자:
건설자 | 설명 |
---|---|
JList() | 비어 있는 읽기 전용 모델을 사용하여 JList를 만듭니다. |
JList(ary[] 목록데이터) | 지정된 배열의 요소를 표시하는 JList를 만듭니다. |
JList(ListModel 데이터모델) | 지정된 null이 아닌 모델의 요소를 표시하는 JList를 만듭니다. |
일반적으로 사용되는 방법:
행동 양식 | 설명 |
---|---|
무효 addListSelectionListener(ListSelectionListener 리스너) | 목록에 리스너를 추가하여 선택 사항이 변경될 때마다 알림을 받는 데 사용됩니다. |
int getSelectedIndex() | 선택된 가장 작은 셀 인덱스를 반환하는 데 사용됩니다. |
ListModel getModel() | JList 구성 요소에 의해 표시되는 항목 목록을 보유하는 데이터 모델을 반환하는 데 사용됩니다. |
무효 setListData(Object[] listData) | 객체 배열에서 읽기 전용 ListModel을 만드는 데 사용됩니다. |
자바 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(); }}
산출:
누가 학교를 만들었나
ActionListener를 사용한 Java JList 예제
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(); }}
산출: