java awt(Abstract Window Toolkit)란?
Window에서 제공하는 툴을 자바에 가져와 GUI를 구성하는 도구이다.
단순하게 외형만 가져오는 것 이기 때문에 사용자가 리스너를 이용하여 이벤트 처리를 하지 않을 경우 아무런 기능이 없다.

화면을 구성하는 방법은 두가지가 있는데 Frame 객체를 생성해서 add 메소드로 프레임을 꾸미는 것과
클래스가 Frame을 상속받아서 클래스 자체를 Frame으로 사용하는 방법이 있다.


▲AWT를 이용한 화면

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
import java.awt.*;
 
public class JavaAWT{
    Frame m_frame;
    Label m_label;
    Button m_btn0;
    TextField m_tf0;
    TextArea m_ta0;
//    CheckboxGroup cbg;
//    Scrollbar vSlider, hSlider;
//    Canvas imagCanvas;
    /**
     * @param args
     */
    public JavaAWT()
    {
        m_frame= new Frame("JavaAWT Sample");
        m_label= new Label("Label sample");
        m_btn0 = new Button("Button0");
        
        m_tf0 = new TextField(30);
        m_tf0.setText("It is TextArea");
        m_ta0=new TextArea("천안\n속초",3,20);
    }
    private void startFrame(){
        m_frame.setLayout(new FlowLayout());
        m_frame.add(m_btn0);
        m_frame.add(m_label);
        m_frame.add(m_tf0);
        m_frame.add(m_ta0);
        m_frame.setSize(500300);
        m_frame.setVisible(true);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JavaAWT myFirstJavaWindow = new JavaAWT();
        myFirstJavaWindow.startFrame();
    }
 
}
 
cs

 

▲클래스에서 Frame'객체를 생성'하여 실행

 

4~8 : 화면구성에 사용될 위젯들과 Frame 변수들 선언

17~23 : 각 위젯과 Frame 객체 생성

26 : m_frame의 Layout을 FlowLayout으로 설정 (FlowLayout은 왼쪽 위부터 차례대로 위젯들을 삽입하는 레이아웃이다.)

27~30 : 생성한 위젯을 m_frame에 넣음

31 : m_frame의 form 사이즈 설정

32 : m_frame을 Visible로 설정(보이도록 설정. show()와 같은 기능을 한다.)


▲AWT 화면 구성

 

 

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
import java.awt.*;
 
 
public class JavaAWT2 extends Frame{
    CheckboxGroup cbGroup;
    Scrollbar vSlider, hSlider;
    Canvas imageCanvas;
    public JavaAWT2(){
        super("JavaAWT sample(checkbox, radiogroup)");
        setLayout(new FlowLayout());
        
        add(new Checkbox("천안"));
        add(new Checkbox("당진"));
        add(new Checkbox("속초"));
        add(new Checkbox("서울"));
        add(new Checkbox("제주"));
        cbGroup = new CheckboxGroup();
        add(new Checkbox("천안",cbGroup,false));
        add(new Checkbox("당진",cbGroup,false));
        add(new Checkbox("속초",cbGroup,false));
        add(new Checkbox("서울",cbGroup,false));
        add(new Checkbox("제주",cbGroup,false));
        
        List list = new List(3false);
        list.add("천안");
        list.add("당진");
        list.add("속초");
        list.add("서울");
        list.add("제주");
        add(list);
        
        Choice choice = new Choice();
        choice.add("천안");
        choice.add("당진");
        choice.add("속초");
        choice.add("서울");
        choice.add("제주");
        add(choice);
        
        imageCanvas = new Canvas();
        imageCanvas.setBackground(Color.YELLOW);
        imageCanvas.setSize(200200);
        
        add(imageCanvas);
        
        vSlider=new Scrollbar(Scrollbar.VERTICAL,0,1,0,100);
        hSlider=new Scrollbar(Scrollbar.HORIZONTAL,0,4,0,50);
        add(vSlider);
        add(hSlider);
        
        setSize(500,500);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        JavaAWT2 myWindow = new JavaAWT2();
    }
 
}
 
cs

▲클래스가 Frame을 '상속'받아서 사용한 코드


+ Recent posts