JPanel
Frame 내에서 각각 다른 레이아웃을 구현하고 영역 별 구분을 위해 사용하는 컴포넌트
JLabel
JLabel은 수정이 불가능한 텍스트를 삽입할 때 사용하는 컴포넌트
- 생성자 생성 방법
- JLabel() - 빈 레이블
- JLabel(Icon image) - 이미지 레이블
- JLabel(String text) - 문자열 레이블
- JLabel(String text, Icon image, int hAlign) - 문자열과 이미지 모두 가진 레이블 - hAlign SwingConstans.LEFT: 왼쪽 정렬 SwingConstans.RIGHT: 왼쪽 정렬 SwingConstans.CENTER: 가운데 정렬
- ImageIcon
ImageIcon 변수 = new ImageIcon("파일"); 을 통해 이미지를 불러온다.
- 파일안에 넣인 경우 경로 : "src/파일/파일이름"
- ImageIcon 주요 메서드
setIcon(image) | 아이콘 이미지 설정 |
- JLabel 주요 메서드
setText(문자) | 텍스트 설정 |
getText(문자) | 텍스트 가져오기 |
setIcon(아이콘) | 아이콘 설정 |
setBorderPainted(false) | 버튼의 경계를 감춤 |
pack() | 사이즈 자동으로 맞춤 |
setOpaque(true) |
JLable은 기본적으로 투명색이기 때문에 배경색이 적용 되지 않는다. Opaque 값을 true로 미리 설정해 주어야 배경색이 적용된다. |
JButton
Button을 추가하기 위해 사용하는 컴포넌트
버튼이 선택되면 Action 이벤트가 발생한다.
- 생성자 생성 방법
- JButton() - 빈 버튼
- JButton(Icon image) - 이미지 버튼
- JButton(String text) - 문자열 버튼
- JButton(String text, Icon image) - 문자열 이미지 모두 가진 버튼
- 이미지 버튼 상태에 따른 메서드
setIcon(Icon image) | 버튼이 보통 상태에 있을 때 출력되는 이미지(디폴트 |
setRolloverIcon(Icon image) | 버튼위에 마우스가 올라가면 출력되는 이미지 |
setPressedIcon(Icon image) | 마우스 버튼이 눌러져 있는 동안 출력되는 이미지 |
2,3번의 경우 기본 생성자가 생성 된 이후 버튼에 해당 함수를 추가하는 형태로 사용한다.
JCheckBox
(선택과 해제) 두 상태만 가지는 컴포넌트
체크박스의 선택 상태에 변화가 생기면 item 이벤트가 발생한다.
- 생성자 생성 방법
- JCheckBox()
- JCheckBox(Icon image)
- JCheckBox(Icon image, boolean selected) - 이미지 체크 박스
- JCheckBox(String text)
- JCheckBox(String text, Icon image) - 문자열과 이미지를 가진 체크 박스
- JCheckBox(String text, Icon image, boolean selected) - 문자열과 이미지를 가진 체크 박스
* selected : true - 초기 값을 선택 상태로
- JCheckBox의 주요 메서드
setSelected(boolean select) | 선택 상태 변경 true: 선택 / false:해제 |
setBorderPainted(boolean b) | 체크 박스 외곽선 여부 변경 |
JRadioButton
라디오버튼은 체크박스와 달리 버튼 그룹 중 단 하나의 라디오 버튼만 선택이 가능하다.
JRadioButton은 여러개의 버튼을 묶을 그룹 객체를 생성하기 위한 ButtonGroup을 선언한 뒤
그룹 객체 안에다가 라디오버튼을 삽입해야한다.
- ButtonGroup
ButtonGroup 변수 = new ButtonGroup(); 은 단순히 라디오 버튼을 묶는 개념으로
버튼 그룹에 속한 라디오 버튼 중 하나만 선택이 가능한 상태로 만들어준다.
- 생성자 생성 방법
- JRadioButton()
- JRadioButton(Icon image)
- JRadioButton(String image)
- .... 체크박스와 동일
JTextField
JTextField를 사용하면 한 줄의 문자열을 입력받을 수 있는 텍스트 필드를 만들 수 있다.
텍스트 필드 입력 중 <Enter>키가 입력되면 Action 이벤트가 발생한다.
- 생성자 생성 방법
- JTextField()
- JTextField(int cols) - 열의 개수만큼 입력 창이 할당
- JTextField(String text) - text 문자열의 기본값을 가짐
- JTextField(String text, int cols)
- JTextField 주요 메서드
append(String text) | 객체에 text 문자열을 삽입 |
JTextArea
JTextArea를 사용하면 여러 줄의 문자열을 입력받을 수 있는 텍스트 필드를 만들수 있다.
입력 창의 크기보다 더 많은 문자를 입력받을 수 있지만 JScrollPane에 삽입하여야 스크롤바를 지원받을 수 있다.
- JScrollPane
new JScrollPane(JTextArea 객체) 를 통해 JScollPane 컴포넌트 안에 JTextArea 객체를 삽입한다.
사용시 스크롤바를 지원받는다.
- 생성자 생성 방법
- JTextArea()
- JTextArea(int rows, int cols) - 행*열의 텍스트 영역 지정
- JTextArea(String text) - text 문자열의 기본값 가짐
- JTextArea(String text, int rows, int cols)
JList
JList를 사용하면 사용자에게 아이템을 보여주고 선택할 수 있게 하는 리스트를 만들 수 있다.
- 생성자 생성 방법
- JList()
- JList(Vector ListData) - 백터로 부터 아이템을 공급받는 리스트 생성
- JList(Object [] ListData) - 배열로 부터 아이템을 공급받는 리스트 생성
- ListData
- 문자열 리스트 생성: String [] arr= { "a", "b" ,"c"};
- 이미지 리스트 생성 : ImageIcon [] arr={ new ImageIcon("경로"), ...}
JComboBox
JComboBox는 텍스트 필드,버튼 그리고 드롭다운 리스트로 구성된 콤보 박스 컴포넌트를 만들 수 있다.
쉽게 말해 JComboBox는 버튼을 통해 리스트가 제공받는다.
- 생성자 생성 방법
- JComboBox()
- JComboBox(Vector items) - 벡터로부터 아이템을 공급받는 콤보박스 생성
- JComboBox(Object [] items) - 배열로부터 아이템을 공급받는 콤보박스 생성
- JComboBox 주요 메서드
getSelectedIndex() | 현재 해당하는 인덱스 번호 리턴 |
JMenu
- 메뉴를 만들기 위해 필요한 요소
- 메뉴바 - JMenuBar (여러개의 메뉴를 붙이는 바로 프레임에 부착)
- 메뉴 - JMenu (여러개의 메뉴 아이템을 가짐)
- 메뉴 아이템 - JMenuItem
포함관계: JMenuBar > JMenu > JMenuItem
- JMenu 주요 메서드
setJMenuBar(JMenuBar bar) | 메뉴 바를 프레임에 부착 |
addSeparator() | 메뉴에 분리선 삽입 |
String getActionCommand() | 메뉴 아이템 리턴 |
팝업 다이얼로그
팝업 다이얼로그는 사용자에게 메세지를 전달하거나 문자열을 입력받을 수 있는 간단한 팝업 창으로
JOptionPane 클래스의 static 메서드를 이용하여 생성한다.
- 입력 다이얼로그 JOptionPane.showInputDialog()
static String JOptionPane.showInputDialog(String msg)
의미: 한줄로 입력받는 다이얼로그 생성
msg: 다이얼로그 메세지
리턴 값: 사용자가 입력한 문자열 (취소 버튼이 선택되거나 창이 닫히면 null 리턴)
- 확인 다이얼로그 JOptionPane.showConfirmDialog()
static int JOptionPane.showConfirmDialog(Component parent Component, Object msg, String title, int optionType )
의미: 사용자로부터 확인을 받기 위한 확인 다이얼로그를 호출
parentComponent: 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정
null 값이면 전체 화면 중앙에 출력
msg: 다이얼로그 메세지
title: 다이얼로그 타이틀
optionType: 다이얼로그 옵션 종류 지정
- JOptionPane.옵션종류
1. YES_NO_OPTION 2. TES_NO_CANCEL_OPTION 3. OK_CANCEL_OPTION
리턴 값: optionType 에 따른 사용자가 선택한 옵션
- JOptionPane.옵션종류
1. JOptionPane.CLOSE_OPTION : 사용자가 선택없이 다이얼로그 창을 닫은 경우
2. JOptionPane.YES_OPTION : 사용자가 "예"를 선택한 경우
.....
- 메세지 다이얼로그 JOptionPane.showMessageDialog()
static void JOptionPane.showMessageDialog(Component parentComponent, Object msg, String title, int Message)
의미: 사용자에게 메세지 전달하기 위한 다이얼로그 호출
parentComponent: 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정
null 값이면 전체 화면 중앙에 출력
msg: 다이얼로그 메세지
title: 다이얼로그 타이틀
MessageType: 다이얼로그의 종류 지정
- JOptionPane.메세지타입
1. ERROR_MESSAGE 2. INFORMATION_MESSAGE
3. WARNING_MESSAGE 4. QUESTION_MESSAGE 5. PLAIN_MESSAGE
리턴 값: 메시지와 "확인" 버튼 하나만 출력하며 "확인"을 누르거나 다이얼로그를 닫으면 단순 리턴한다.
'JAVA > 기본 문법 내용 정리' 카테고리의 다른 글
정규표현식 (0) | 2021.11.18 |
---|---|
GUI 이벤트 처리 (0) | 2021.11.05 |
자바 GUI 기초 (0) | 2021.10.29 |
컬렉션과 제네릭 (0) | 2021.10.29 |
입출력 (0) | 2021.10.07 |