컴퓨터프로그래밍/JAVA

AWT 컴포넌트의 활용

zelkova 2016. 5. 20. 15:54

 <목차로 돌아가기>


  프로그램 기본창 만들기

형식

Frame 객체명 = new Frame();

객체명.show(); 또는 객체명.setVisible(true)


보통 setVisible을 많이 쓸겁니다.



보통 프로그램은 아래와 같이 제작합니다.

Frame 생성 -> 컴포넌트 배치 -> 필요한 이벤트 처리


아래와 같은 프로그램의 배경창을 만드는 것부터 것부터 알아보겠습니다.



1

2

3

4

5

6

7

8

9

10

11

12

 import java.awt.*;


 class FrameTest

 {

    public static void main(String[] args) 

    { 

        Frame f = new Frame("test");

        f.setSize(200,200);


        f.setVisible(true);

    } 

 }




  컴포넌트 배치하기


아무것도 없어서 썰렁합니다. 여기에 버튼과 텍스트박스 레이블을 넣어보겠습니다.



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.*;


 class FrameTest extends Frame

 {

    Label lbl = new Label("이름");

    TextField txt = new TextField(10);

    Button btn = new Button("확인");


    public FrameTest()

    {

       this.setLayout(new FlowLayout()); //왼쪽에서 오른쪽 배치

       this.add(lbl);

       this.add(txt);

       this.add(btn);

    }


    public static void main(String[] args) 

    { 

        Frame f = new FrameTest("test");


        f.setSize(200,100);

        f.setVisible(true);

    } 

 }


9줄 : 생성자입니다. 모르면 목차로 돌아가서 보고오셔요~
11줄 : FlowLayout() 왼쪽에서 오른쪽으로 배치한다는 뜻 입니다.

eclips awt 한글깨짐
좌측상단 Package Explorer -> 현재 프로젝트 클릭 -> alt+Enter ->Run DeburgSetting
-> Arguments -> VMarguments에  '-Dfile.Encoding=MS949' 입력 -> OK

eclips console 한글깨짐
메뉴 상단 Run->Run Configuration -> Shared File ->Browse-> 프로젝트 선택 -> 
->Encoding -> Other -> MS949 입력 -> run


  이벤트 적용시키기


java.awt.event 패키지를 import하여야 사용가능합니다.


컴포넌트는 보여주는 껍데기입니다.

배경창과 컴포넌트가 배치되어 있어도 이벤트가 없으면 프로그램은 동작되지 않습니다.

따라서 마우스 클릭, 키보드 입력 등의 이벤트를 처리하도록 관리할 필요가 있습니다.




방법은 이벤트 리스너 구현 -> 필요한 곳에 리스너 배치하기


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

 import java.awt.*;

 import java.awt.event.*;

 class FrameTest extends Frame

 {

    Label lbl = new Label("이름");

    TextField txt = new TextField(10);

    Button btn = new Button("확인");


    public FrameTest()

    {

       this.setLayout(new FlowLayout()); //왼쪽에서 오른쪽 배치

       this.add(lbl);

       this.add(txt);

       this.add(btn);


       btn.addActionListener(new ActionListener()

       {

           public void actionPerformed(ActionEvent e)

           {

              System.out.println("이렇게 출력됩니다.");

           }

        });

    }


    public static void main(String[] args) 

    { 

        Frame f = new FrameTest("test");


        f.setSize(200,100);

        f.setVisible(true);

    } 

 }



반응형

'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글

JAVA-AWT이벤트처리  (0) 2016.05.24
AWT 컴포넌트 - 판넬(Panel) 및 레이아웃 배치방법  (0) 2016.05.21
JAVA - AWT 컴포넌트의 이해  (0) 2016.05.14
JD-Eclips 다운 및 설치  (0) 2016.05.11
JAVA - static  (0) 2016.05.11