자바 폼과 프레임 AWT Frame

자바 폼과 프레임 AWT Frame


AWT Frame


  • . 자바의 GUI(Graphic User Interface)의 기본구성이다 .
    자바에서 GUI는 AWT(Abstract Window Application)이나 애플릿(Applet)등에서 많이 이용되고 있다
    현제는 JFC(Java Foundation Class Library)다른말로 SWING이라고도 불린다.

  • . java.awt.Frame

  • . 멤버변수
    필드 속성 필드명내용
    static final intICONFIELDFrame의 아이콘화된 상태 비트를 표시
    static final intMAXIMIZED_BOTHFrame의 최대 크기에 관한 상태 비트
    static final intMAXIMIZED_HORIZFrame의 가로축 최대 크기 비트
    static final intMAXIMIZED_VERTFrame의 세로축 최대 크기 비트
    static final intNORMAL기본 크기를 표시하는 상태 비트

  • . 생성자
    생성자내용
    Frame()기본 Frame 생성자
    Frame(String title)Title을 지정하는 생성자

  • . 메서드
    리턴타입 메서드 내용
    static Frame[] getFrames()실행중인 모든 Frame을 얻어온다
    Image getIconImage()Frame의 좌측 상단 이미지 얻기
    MenuBargetMenuBar()설정된 MenuBar 객체 얻기
    StringgetTitle()현 Frame의 title얻기
    IntgetState()Frame의 현상태 얻기
    BooleanisResizable()현 Frame의 크기변경 가능 유무 확인
    voidsetIconImage(Image img)좌측 상단의 이미지 변경하여 설정
    voidsetMenuBar(MenuBar mb)MenuBar를 설정
    voidsetResizable(boolean bool)Frame 크기 변경 가능 유무 설정
    void setState(int state)Frame의 상태 설정
    void setTitle(String title)Frame의 title설정

Ex) 화면 정중앙에 width 300px/height 200px의 화면의 정중앙에 호출

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.awt.*;

public class Round17_Ex01 {
public static void main(String[] ar) {
Frame f = new Frame();
// Frame객체 호출
f.setSize(300, 200);
// 프레임의 사이즈를 가로 300px 세로 200px로 설정
Dimension dimen = Toolkit.getDefaultToolkit().getScreenSize();
// 윈도우 화면의 사이즈를 호출한다
Dimension dimen1 = f.getSize();
// Frame의 객체의 사이즈를 호출한다
int xpos = (int) (dimen.getWidth() / 2 - dimen1.getWidth() / 2);
// 윈도우 화면의 가로 픽셀값을 2로 나눈 값과 Frame의 객체 가로값을 2로 나눈값을 뺀다
// 하게되면 화면의 정중앙의 x값을 구할수 있다
int ypos = (int) (dimen.getHeight() / 2 - dimen1.getHeight() / 2);
// 윈도우 화면의 세로 픽셀값을 2로 나눈값과 Frame 의 객체 세로 값을 2로 나눈값을 뺀다
// 정중앙의 y값을 구할수 있다
f.setLocation(xpos, ypos);
// 처음 Frame의 호출위치를 설정한다 위의 정중앙 값을 구했기 때문에 중앙에 Frame 호출
f.setVisible(true);
// Visible속성을 true로 주어 보이게 한다 .
}
}

Ex) Frame을 상속받아서 Frame을 정가운데 호출하고 박스의 제목을 넣는다.

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
37
38
39
40
41
42
43
import java.awt.*;

public class Round17_Ex02 {
public static void main(String[] ar) {
Round17_Ex02_Sub round = new Round17_Ex02_Sub();
}
}

class Round17_Ex02_Sub extends Frame {
private Dimension dimen, dimen1;
private int xpos, ypos;

public Round17_Ex02_Sub() {
super("제목넣기");
// Frame을 상속받았기 때문에 super로 상위 상속자 호출
this.init();
this.start();
this.setSize(300, 200);
// Frame을 상속받아 this의 메소드 호출한다 가로300, 세로 200의 Frame세팅
dimen = Toolkit.getDefaultToolkit().getScreenSize();
// 화면의 스크린 가로/세로 스크린 사이즈를 가져온다
dimen1 = this.getSize();
// Frame의 가로/세로 스크린 사이즈를 가져온다
xpos = (int) (dimen.getWidth() / 2 - dimen1.getWidth() / 2);
// 정중앙의 x값을 구한다 화면의 가로 사이즈를 2로 나눈값과 Frame의 가로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 x값을 구한다
ypos = (int) (dimen.getHeight() / 2 - dimen1.getHeight() / 2);
// 정중앙의 y값을 구한다 화면의 세로 사이즈를 2로 나눈값과 Frame의 세로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 y값을 구한다
this.setLocation(xpos, ypos);
// Frame의 띄울 위치를 x값과 y값으로 띄울 위치를 설정한다.
this.setVisible(true);
// 화면에 보이게 한다
}

public void init() {
// 화면 구성 넣을 부분
}

public void start() {
// Event나 Thread 처리할 부분
}
}

Share