JList
• JLabel, JButton, JCheckBox,
JRadioButton, JComboBox,
JList, JTextField, JTextArea
JList
• 생성자
– JList(String[] items)
• 메소드
– int getSelectedIndex() - 선택된 항목들 중 가장 작은 인덱스 값 반환 – int[] getSelectedIndices() - 선택된 항목들의 모든 인덱스 값 반환 – void setSelectionMode(int mode) - 항목 선택에 제한을 둔다.
• 예제: JScrollPane 함께 사용
JTextField
• JLabel, JButton, JCheckBox,
JRadioButton, JComboBox,
JList, JTextField, JTextArea
JTextField
• 생성자
– JTextField(int columns)
• 메소드
– String getText() – 현재 입력된 내용 반환
– void setText(String s) – 입력 내용을 미리 설정
– void setEditable(boolean b) – 편집 가능/불가 설정
• 예제: setText(), setEditable()
JTextArea
• JLabel, JButton, JCheckBox,
JRadioButton, JComboBox,
JList, JTextField, JTextArea
JTextArea
• 생성자
– JTextArea(int rows, int columns)
• 메소드
– String getText() – 현재 입력된 내용 반환
– void setText(String s) – 입력 내용을 미리 설정
– void setEditable(boolean b) – 편집 가능/불가 설정
• 예제: JScrollPane 과 함께 사용
정리
• JLabel, JButton, JCheckBox, JRadioButton, JComboBox, JList, JTextField, JTextArea
• ButtonGroup, JScrollPane
컨테이너 (Container)
• JFrame, JPanel, JDialog,
JOptionPane, Border
컨테이너
• 컨테이너 (Containers)
– 컴포넌트들을 담는 그릇
• 주 컨테이너
– JFrame (메인 윈도우로 사용)
– JPanel (컴포넌트를 담는 대표적인 컨테이너)
• JFrame 에 한 개 이상의 JPanel 을 배치
• 보조 컨테이너
– JDialog (임의형 대화창)
– JOptionPane (표준형 대화창) – JFileChooser
JFrame
• JFrame, JPanel, JDialog,
JOptionPane, Border
JFrame
• javax.swing.JFrame
– 애플리케이션의 메인 윈도우 – 타이틀 바 (title bar)
– 메뉴 바 (menu bar) – 테두리 (border) – 자유로운 크기 조절
– 기본 배치: BorderLayout (동/서/남/북/중앙)
JFrame
• 생성자
– JFrame()
– JFrame(String title)
• 메소드
– void setSize(int width, int height) – void setTitle(String title)
– void setLocation(int x, int y)
– void setLocationRelativeTo(Component c) – void setVisible(boolean b)
– void setResizable(boolean b)
– void add(Component c, String constraint)
• 예제: super()
JPanel
• JFrame, JPanel, JDialog,
JOptionPane, Border
JPanel
• javax.swing.JPanel
– 컴포넌트 배치 목적
– 타이틀 바 (title bar) 없음 – 메뉴 바 (menu bar) 없음 – 테두리 (border) 없음
– 기본 배치: FlowLayout (좌 → 우, 상 → 하), 중앙 정렬
JPanel
• 생성자
– JPanel()
• 메소드
– void add(Component c) // 방향 지정 없음에 주목!
– void setBorder(Border border) // 테두리 설정
• 예제:
JDialog
• JFrame, JPanel, JDialog,
JOptionPane, Border
JDialog
• javax.swing.JDialog
– 프로그램과 사용자간 대화를 위한 창
– 대화창에 나타난 정보를 읽고 특정 버튼을 클릭하여 사용자 의사 전달 – JFrame 과 거의 동일: 타이틀 바, 메뉴 바, 테두리, 크기 조절, BorderLayout
JDialog
• 생성자
– JDialog(Frame owner, String title, boolean modal)
• 메소드
– JFrame 에서 사용되는 메소드와 유사
– setSize(), setTitle(), setLocation(), setVisible(), add(), ……
• 예제:
JOptionPane
• JFrame, JPanel, JDialog,
JOptionPane, Border
JOptionPane
• javax.swing.JOptionPane
– 표준 형태의 대화창
– 종류: 메시지 (message), 확인 (confirm), 입력 (input) – 생성자: JOptionPane.showXXXDialog()