Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lesson 12. 사용자 인터페이스(AWT) - 1

Similar presentations


Presentation on theme: "Lesson 12. 사용자 인터페이스(AWT) - 1"— Presentation transcript:

1 Lesson 12. 사용자 인터페이스(AWT) - 1

2 AWT 컴포넌트란? Abstract Window Toolkit Graphic User Interface 윈도우즈 GUI

3 컴포넌트와 컨테이너

4 단순 컴포넌트 리스트 메뉴 선택 메뉴 이미지 캔버스 스크롤 바 체크 상자 라디오 버튼 프레임 또는 윈도우 컨테이너

5 컴포넌트 사용하는 법 컴포넌트를 생성 컨테이너에 부착 이벤트 처리 루틴 제작 및 이벤트 리스너 연결
Button myButton= new Button("내 버튼"); 컨테이너에 부착 add(myButton); 이벤트 처리 루틴 제작 및 이벤트 리스너 연결 MyActionListener mal= new MyActionListener(); myButton.addActionListener(mal);

6 레이블 Label myLabel= new Label("Java");     클래스 변수 생성자 인수
    클래스 변수 생성자 인수 myLabel1= new Label(); myLabel1.setText("유비"); myLabel1.setAlignment(Label.LEFT); // 왼쪽 정렬 myLabel1.setBackground(Color.cyan); add(myLabel1);

7 버튼 Button myButton= new Button("Java");     클래스 변수 생성자 인수
    클래스 변수 생성자 인수 myButton1= new Button(); myButton1.setLabel("유비"); myButton1.addActionListener(this); add(myButton1);

8 체크박스 Checkbox myCheckbox= new Checkbox("Java");     클래스 변수 생성자 인수
    클래스 변수 생성자 인수 myCheckbox1= new Checkbox(); myCheckbox1.setLabel("유비"); myCheckbox1.addItemListener(this); add(myCheckbox1);

9 라디오형 체크박스(라디오버튼) CheckboxGroup myGroup= new CheckboxGroup();
Checkbox myCheckbox= new Checkbox("Java",myGroup,true);       클래스 변수 생성자 문자열인수 그룹 논리형인수 group= new CheckboxGroup(); myCheckbox1= new Checkbox("유비", false, group); myCheckbox1.addItemListener(this); add(myCheckbox1);

10 초이스 Choice myChoice= new Choice(); myChoice.addItem("Java");
클래스 변수 생성자    Choice myChoice= new Choice(); myChoice.addItem("Java"); myChoice= new Choice(); // 초이스 생성 myChoice.addItem("유비"); // 항목 추가 myChoice.addItem("관우"); myChoice.addItem("장비"); myChoice.addItemListener(this); add(myChoice);

11 리스트 List myList= new List(10); myList.add("Java"); 클래스 변수 생성자 인수
클래스 변수 생성자 인수     List myList= new List(10); myList.add("Java"); myList= new List(4, false); myList.add("유비"); // 항목 추가 myList.add("관우"); myList.add("장비"); myList.add("조조"); myList.add("여포"); myList.add("동탁"); myList.addActionListener(this); myList.addItemListener(this); add(myList);

12 텍스트필드 TextField myTextField= new TextField(25);     클래스 변수 생성자 인수
    클래스 변수 생성자 인수 myTextField= new TextField(20); // 텍스트필드 생성 myTextField.addActionListener(this); myTextField.addTextListener(this); add(myTextField);

13 텍스트 에어리어 TextArea myTextArea= new TextArea(20, 30);     
     클래스 변수 생성자 인수 인수 myTextArea= new TextArea(20,10); myTextArea.addTextListener(this); add(myTextArea);

14 스크롤바 Scrollbar myScrollbar= new Scrollbar();    클래스 변수 생성자
   클래스 변수 생성자 myScrollbar= new Scrollbar(Scrollbar.HORIZONTAL, 50, 0, 1, 100); myScrollbar.addAdjustmentListener(this); add("North", myScrollbar);

15 캔버스 Canvas myCanvas= new Canvas();    클래스 변수 생성자
   클래스 변수 생성자 public class MyCanvas extends Canvas // Canvas 클래스를 상속 { public MyCanvas() setBackground(Color.yellow); setSize(100,100); } ... myCanvas= new MyCanvas(); add(myCanvas);

16 레이아웃이란? 레이아웃 매니저가 없는 경우 레이아웃 매니저가 있는 경우

17 레이아웃 매니저 null 레이아웃 플로우 레이아웃 그리드 레이아웃 보더 레이아웃 카드 레이아웃

18 컨테이너의 디폴트(기본) 레이아웃 Applet  플로우 레이아웃(FlowLayout)
Panel  플로우 레이아웃(FlowLayout) Window  보더 레이아웃(BorderLayout) Dialog  보더 레이아웃(BorderLayout) Frame  보더 레이아웃(BorderLayout)

19 컨테이너에 레이아웃을 지정하는 법 레이아웃 매니저를 생성 컨테이너에 레이아웃 매니저를 설정 컴포넌트 추가
BorderLayout bm= new BorderLayout(); 컨테이너에 레이아웃 매니저를 설정 setLayout(bm); 컴포넌트 추가 add(myButton);

20 null 레이아웃 setLayout(null); setLayout(null); // null 레이아웃으로 지정
myLabel= new Label("레이블", Label.CENTER); myLabel.setBackground(Color.yellow); myLabel.setBounds(150, 20, 100, 20); add(myLabel); ...

21 플로우 레이아웃 FlowLayout manager= new FlowLayout(); setLayout(manager);
setLayout(new FlowLayout()); // 플로우 레이아웃으로 지정 add(new Button("버튼-1")); // 버튼 추가 ...

22 그리드 레이아웃 GridLayout manager= new GridLayout(); setLayout(manager);
setLayout(new GridLayout(0, 5)); // 그리드 레이아웃으로 지정 add(new Button("버튼-1")); // 버튼 추가 ...

23 보더 레이아웃 BorderLayout manager= new BorderLayout(); setLayout(manager);
setLayout(new BorderLayout(1, 2)); // 수평, 수직 간격을 각각 1, 2씩 갖는 보더 레이아웃으로 지정 add("East", new Button("East")); // 버튼 추가 ...

24 카드 레이아웃 CardLayout manager= new CardLayout(); setLayout(manager);
CardLayout card= new CardLayout(); // 카드 레이아웃으로 지정 ... setLayout(card); Button b= new Button("버튼-1"); add("CARD-1", b); // CARD-1 카드에 버튼 추가

25 메뉴의 구성

26 메뉴 만드는 법 메뉴가 붙을 메뉴바 생성 메뉴 생성 메뉴 아이템을 만들어 메뉴에 추가 메뉴바에 메뉴 추가
MenuBar myMenuBar= new MenuBar(); 메뉴 생성 Menu myMenu= new Menu("내 메뉴"); 메뉴 아이템을 만들어 메뉴에 추가 MenuItem myMenuItem= new MenuItem("내 아이템"); myMenu.add(myMenuItem); 메뉴바에 메뉴 추가 myMenuBar.add(myMenu); 프레임에 메뉴바를 설치 Frame myFrame= new Frame(); myFrame.setMenuBar(myMenuBar);

27 체크박스 메뉴 ... Menu myMenu= new Menu("내 메뉴");
CheckboxMenuItem myCheckboxMenuItem= new CheckboxMenuItem("내 체크박스메뉴"); myMenu.add(myCheckboxMenuItem); MenuItem 대신 CheckboxMenuItem 사용

28 서브 메뉴 ... Menu myMenu= new Menu("내 메뉴");
Menu mySubMenu= new Menu("내 서브메뉴"); MenuItem mySubMenuItem= new MenuItem("내 서브메뉴 아이템"); mySubMenu.add(mySubMenuItem); myMenu.add(mySubMenu); MenuItem 대신 Menu 사용

29 팝업 메뉴 ... PopupMenu myPopupMenu= new PopupMenu("내 팝업메뉴");
MenuItem myMenuItem= new MenuItem("내 메뉴 아이템"); myPopupMenu.add(myMenuItem); myFrame.add(myPopupMenu); Menu 대신 PopupMenu 사용 MenuBar는 필요 없음


Download ppt "Lesson 12. 사용자 인터페이스(AWT) - 1"

Similar presentations


Ads by Google