스윙 기반의 GUI 응용프로그램 샘플
- 응용프로그램의 전체 컴포넌트를 담는 JFrame
- 모든 메뉴를 담는 JMenuBar
- 메뉴로 작동하는 JMenu
- 툴바로 작동하는 JToolBar
- 버튼으로 작동하는 JButton. 툴바에 부착됨.
- 문자열을 출력하는 jLabel. 툴바에 부착됨.
- 이미지 버튼으로 작동하는 JButton. 툴바에 부착됨
- 한 줄 문자열을 입력 받는 창 JTextField. 툴바에 부착됨
- 푸시다운 버튼으로 작동하는 JComboBox. 툴바에 부착됨
- 두 개의 분리된 팬으로 작동하는 JSplitPane, JFrame에 부착됨
- 리스트를 출력하는 JList, JSplitPane의 왼쪽에 부착됨
- 이미지를 출력하는 JLabel, JSplitPane의 오른쪽에 부착됨
- JLabel에 출력된 이미지나 텍스트를 스크롤 가능하게 만드는 JScrollPane
예제 9-1. 300*300 크기의 스윙 프레임을 작성하라
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package exec;
import javax.swing.JFrame;
// 스윙 응용프로그램의 프레임은 JFrame을 상속 받아 만들면 된다.
// JFrame 객체는 Frame(java.awt.Frame),메뉴바(Menu Bar),컨텐트팬(Content Pane) -> 3공간으로 구성
public class MyFrame extends JFrame {
public MyFrame() {
setTitle("300*300 스윙 프레임 만들기");
setSize(300, 300); // 프레임의 크기
setVisible(true); // 프레임 출력
}
public static void main(String[] args) {
MyFrame frame = new MyFrame(); // 스윙 프레임 생성
}
}
|
cs |
예제 9-2. 3개의버튼 컴포넌트를 가진 스윙 프레임 만들기.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package exec;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ContentPaneEx extends JFrame {
public ContentPaneEx() {
setTitle("ContentPane과 JFrame"); // 프레임 타이틀 달기
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임 윈도우를 닫으면 프로그램을 종료하도록 설정
Container contentPane = getContentPane(); // 컨텐트 팬을 알아낸다.
contentPane.setBackground(Color.ORANGE); // 컨텐트팬의 색을 오렌지 색으로
contentPane.setLayout(new FlowLayout()); // 컨텐트팬에 FlowLayout 배치관리자 달기
contentPane.add(new JButton("OK")); // OK 버튼 달기
contentPane.add(new JButton("Cancel")); // Cancel 버튼 달기
contentPane.add(new JButton("Ignore")); // Ignore 버튼 달기
setSize(300, 150); // 프레임 크 300*150 설정
setVisible(true); // 화면에 프레임 출력
}
public static void main(String[] args) {
new ContentPaneEx();
}
}
|
cs |
- 컨테이너
다른 GUI 컴포넌트를 포함할 수 있는 컴포넌트이다.
그러므로 컨테이너는 컴포넌트이면서 동시에 컨테이너이다.
컨테이너가 되기 위해서는 java.awt.Container 클래스를 상속 받아야만 한다.
- 컴포넌트
컴포넌트란 컨테이너와 달리 다른 컴포넌트를 포함할 수 없으며,
컨테이너에 포함되어야 비로소 화면에 출력할 수 있는 GUI의 객체이다.
'programming > JAVA' 카테고리의 다른 글
db에 파일 넣기 (0) | 2021.04.28 |
---|---|
JAVA [클래스와 객체] (0) | 2021.03.25 |
JAVA [Scanner 조건문] (0) | 2021.03.23 |
JAVA [Scanner 실습편1] (0) | 2021.03.23 |
JAVA [Scanner] (0) | 2021.03.23 |