Download presentation
Presentation is loading. Please wait.
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는 필요 없음
Similar presentations