programming/JAVA

GUI 기초

히연쓰 2021. 4. 30. 00:38

스윙 기반의 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(300300); // 프레임의 크기
        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(300150); // 프레임 크 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