자바 JFC 구성 및 일반 클래스 활용

자바 JFC 구성 및 일반 클래스 활용


Swing을 이용한 화면 구성
Swing 컴포넌트는 일반적으로 JFC(Java Foundation Class Library)라고 명시한다

  • 같은 GUI로 AWT와 JFC(Swing)을 비교해서 본다면

AWT
1 . 플랫폼에 종속적인 컴포넌트 : 현재 시스템에 종속적으로 프레임의 모형을 구축한다.
2 . 중량의 컴포넌트 : 시스템 자원을 끌어 와 사용하기 때문이다 .
3 . 단일 프레임 : 컴포넌트를 표시하는 패널이 하나만 존재한다 .
4 . 사용 패키지 영역 : java.awt등이 있다.

JFC(Swing)
1 . 플랫폼에 독립적인 컴포넌트 : 자바로 만들어져 시스템에 독립적으로 프레임 모형을 구축할 수 있다
2 . 경량의 컴포넌트 : 자바로 구현된 소스를 이용하기 때문이다 .
3 . 다중 프레임 : 컴포넌트가 적재되는 패널이 계층별로 여러 개 존재한다
4 . 사용 패키지 영역 : java.awt, javax.swing.*, 등이 있다

위의 두가지 컴포넌트의 차이점을 한 마디로 표현하자면 사용하는 컴포넌트의 기능이 AWT보다
JFC가 훨씬 더 많다는 것과 순수 자바로 만들었는가 아니면 시스템의 자원을 그대로 이용하는가의 차이다
또한 AWT 는 단일 패널로 구성되는 반면에 JFC는 다중 패널로 구성된다는 것이다

ex )

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
33
34
35
36
import java.awt.*;
import javax.swing.*;
class Round22_Ex01_Sub extends JFrame {//JFrame을 상속받는다
private Container con;
private ImageIcon im;
public Round22_Ex01_Sub() {
super("제목");
this.init();
this.start();
im = new ImageIcon("title.gif");
this.setIconImage(im.getImage());
this.setSize(300, 200);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension di = tk.getScreenSize();
Dimension di1 = this.getSize();
int xpos = ((int)di.getWidth() / 2 - (int)di1.getWidth() / 2)
int ypos = ((int)di.getHeight() / 2 - (int)di1.getHeight() / 2)
this.setLocation(xpos, ypos);
this.setVisible(true);
}
public void init() {
con = this.getContentPane();//다중 Panel에서의 기본 작업영역 획득
//폼 구성 영역 (초기화 영역)
}
public void start() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Frame의 x버튼을 눌렀을 때의 Event AWT에서는 구현하였지만
//Swing에서는 이미 메서드로 만들어 두었기 때문에 이 메서드를 사용하면 창이 닫힌다
//이벤트나 기타 액션의 영역
}
}
public class Round22_Ex01 {
public static void main(String[] ar) {
Round22_Ex01_Sub es = new Round22_Ex01_Sub();
}
}

Share