[기초]GUI , AWT 와 JFC ,사용하는 Event 그리고 Applet

2010. 1. 31. 10:13Java

 GUI(Graphic User Interface) : 사용자를 위한 그래픽 화면을 제공하는 프로그램

■  Frame 클래스 와 Label
 Frame 클래스 : GUi의 Base form
 - Frame 객체 생성
 - Frame 클래스 상속
 Frame의 배치
 Component 추가

■  Frame 상속 계열 클래스
Layout Manager

Frame 상속 계열 클래스들
Object -> Component -> Container -> Window -> Frame
Component 클래스의 메서드
Container 클래스의 메서드
Window 클래스의 메서드
Frame 클래스 메서드
 - getIconImage()
 - setIconImage()
 - getTitle();
 - setMenuBar(MenuBar mb)
 - setResize();
 - setUndecorated(boolean undecorated)

■  Layout Manager
-FlowLayout Manager
-GridLayout Manager
-BorderLayout Manager :North,South,East,West,Center
-CardLayout Manager : 여러장의 카드를 겹쳐놓은 듯한...;;;
-GridBargLayout Manager : 적절한 위치에 맘대로!!

■  java.awt.Panel 클래스
Panel 클래스 : Layout Manager를 적용하기 위한 영역
Panel 클래스에는 또 다른 Panel 클래스가 추가 될수 있다.
Panel 클래스는 Layout Manager에 의해 영역을 분할할 수 있다.

■  주변 클래스들
java.awt.Color : Color(int r,int g,int b)  255,255,255 : white , 0,0,0 : black 빛
  : Creates an opaque sRGB color with the specified red,green and blue values in the range
java.awt.Cursor
java.awt.Dimension : 크기를 관리하는 것이래용
java.awt.Font
java.awt.Image
java.awt.Toolkit  : 로컬 경로에서 !!! 정보를 받아온데요

■  AWT 관련 컴포넌트
java.awt.Label
java.awt.Button
java.awt.Checkbox
java.awt.CheckboxGroup
java.awt.choice
java.awt.List
java.awt.TextField
java.awt.TextArea
java.awt.Dialog
java.awt.FileDialog
java.awt.Menu
java.awt.MenuItem

■  Event 관련 패키지 와 적용범위
-Event Handler 란 (java.awt.event)
 각 컴포넌트에 대해 특정 행위를 하였을 때에 대한 작업을 처리 할수 있는것.
-각 컴포넌트 별 처리 이벤트
 add로 시작하여 Listener로 끝나는 메서드
-이벤트 관련 클래스
 Listener 인터페이스 , Adapter 클래스, Event 클래스

■  Event 작성법
-Event Handler 클래스 생성법 4가지
 1. Listener Class를 구현하는 방법
 addActionListion : 버튼을 클릭했을때, 메뉴을 클릭했을때... 발생하는 이벤트를 듣는다.
 매개변수에는 ActionListener 가 들어가야 하고, ActionListener 구현시에는 actionPerformed는 꼭 포함
 2. Adapter Class 를 상속받는 방법
 3. Frame Class에 Listener를 구현하는 방법
 4. 익명 중첩 클래스를 사용하는 방법
-Event 작성법
 1. 처리하고자 하는 종류의 Event 클래스 생성
 2. 컴포넌트에 대해 관련 Event를 추가

■  자주 사용되는 Event 클래스
-Event 활용범위
1.ActionListener : 버튼 클릭, 메뉴 선택 등
2.WindowAdapter 와 WindowListener : Frame 관련
3.MouseAdapter 와 MouseListener : 마우스 크ㄹ릭 등 마우스 관련
4.MouseMoitionAdapter 와 MouseMotionLister : 마우스 움직임 관련
5.KeyAdapter 와 KeyListener : 키 관련
6.FocusAdapter 와 FocusListener : 포커스 과련
7.ItemLister : List나 Choice에서의 아이템 관련

■  Graphics 실행 순서와 호출법
Graphics 실행 순서
 - Frame 혹은 Applet 실행 시 생성자 호출
 - public void update(Graphics g) 호출 -->숨어있다
 - public void pain(Graphics g) 호출
 - Thread 대기 상태 (Event 호출 가능)
Garphics의 paint 메서드 호출 방법
 - Frame or Applet open
 - Resize
 - 사용자의 의해 repaint() 호출 될때
Graphics 클래스와 Image
 -Graphics 메서드
 1. drawLine , drawRect , DrawOval , drawPolygon
 2. fillRect , fillOval , fillPolygon
 3. drawString : 문자열 그림
 4. drawImage : 이미지 그림

■  Image 객체 생성
 1. Toolkit t = Toolkit.getDefaultToolkit();
 2. Image img = t.getImage("파일명");

■  Applet 작성법 과 실행 순서
Applet을 포함하는 Html 작성(applet 태그 ,
Applet을 상속받는 클래스 작성
Applet 실행순서
public void init()
public void start()
public void paint(Grphics g)
public void stop()
public void destory()

■  Applet Image 와 Sound
Applet의 Image 와 Sound 객체 생성
Image : Applet 객체.getImage(위치, 파일명)
Sound : Applet 객체.getAudioClip(위치, 파일명)
위치
 applet객체.getDocumentBase
 Applet객체.getCodeBase

Image객체와 AudioClip 객체에 각 데이터 저장
AudioClip 사용 메서드
play() : sound를 한번만 실행
stop() : sound를 멈춤
loop() : 반복 실행

■  Swing 을 이용한 화면 구성
JFC의 상속 클래스 : JFrame
Base 작업 영역 : Container
 - Frame 위에다가 했었는데, 계층 클래스 ,
계층 클래스 :
 - JRootPane
 - JLayoutPane (GlassPane 포함)
javax.swing.border 클래스
 - Empty,Line,Etched, Bevel , SoftBevel
 - Matte , Titled, Compound

■  JFC ( Java Foundation Component ) Component 클래스들
 - awt 는 window에 종속적인 컴포넌트 이다.
 - jfc 컴포넌트 입니다.(Swing 대세!!!)
 - pure java ->1.2 이상부터 많이 사용
 - platform의 독립적으로 구성 가능

- JToggleButton
- JColorChooser 와 JFileChooser
- JOptionPane
- JDesktopPane , JInternalFrame
- JSplitPane
- JTabbedPane
- JToolBar

■  JApplet을 통한 애플릿 구현
JApplet에서는 일반 Applet 클래스에서 사용할 수 없는 부분을 많이 보완해 두었다.
applet 태그
기본 : code , width, height
기타 : codebase , archive , vspace , hspace

■  JTree와 JTable 클래스
JTree 클래스
 - 기본 트리 구조 예제
JTable 클래스
 - 기본 트리 구조 예제