자바 애플릿(Java Applet)이란?
- 웹 브라이주(Web browser)에 내장된 Java 가상 머신(JVM)에 의해 실행되는 Java프로그램
[참고] 자바 어플리케이션(Java Application) -> 사이즈가 작은프로그램(applet)
- 각 컴퓨터 플랫폼에서 JVM에 의해 독립적으로 실행되는 Java 프로그램
- 반드시 하나의 public static void main(String[] args) 메소드를 가짐
특징
- HTML 문서에 연결되어 인터넷 상으로 전송 후 실행이 가능함
- 잘 정의된 GUI(Graphical User Interface)를 가짐
- 이벤트에 의한 구동 방식(event-driven handling)으로 동작함
용도
- 모든 애플릿의 구현을 지원하는 상위 클래스
java.applet.Applet 클래스
○ void init()
- 애플릿이 시스템에 로딩(loading)된 시점에 수행되는 초기화 메소드
- 웹 브라우저를 이용하여 애플릿이 포함된 페이지에 처음 들어갈 때 호출됨
○ void start()
- 애플릿의 실행이 시작되는 시점에 호출되는 메소드
- 웹 브라우저에서 애플릿이 포함된 페이지에 처음 들어가거나 다른 페이지로 이동했다가 다시 돌아온 경우에 호출됨
○ void stop()
- 애플릿의 실행이 멈추는 시점에 호출되는 메소드
- 애플릿이 포함된 페이지에서 다른 페이지로 이동할 때 호출됨
○ void destroy()
- 애플릿이 종료되는 시점에 호출되는 메소드
- 애플릿이 포함된 웹 페이지를 닫을 때 호출됨
HTML(HyperText Markup Language)
- 웹 브라우저 상에서 보이거나 작동되는 문서(또는 컨텐츠)를 표현하는데 사용되는 태그(tag)기반의 언어
기본태그
○ <HTML> ~ </HTML>
- HTML 문서임을 알림
○ <HEAD> ~ </HEAD>
- 문서의 헤드 부분
○ <TITLE> ~ </TITLE>
- 문서의 제목
○ <BODY> ~ </BODY>
- 문서의 본문 내용
○ <H1> ~ </H1> (<H2>,<H3>,<H4>,<H5>,<H6>)
- 문서의 제목(숫자가 클수록 글자의 크기가 작아짐
○ <FONT> ~ </FONT>
- 글자 속성(크기, 색상, 글꼴 등)설정
○ <p> 또는 p
- 문단 바꾸기
○ <BR>
- 줄 바꾸기(Line Braking)
○ <CENTER> ~ </CENTER>
- 중앙 정렬하기
○ <HR>
- 수평선 그리기
○ <B> ~ </B> (<T>,<U>,<TT>,<SUB>.<SUP>,<BLINK>)
- 글자 모양(굵은 문자, 이탤릭 문자, 밑줄 문자, 타자체, 아래첨자, 위첨자, 깜박임 등)
○ <UL> ~ </UL>, <OL> ~ </OL>, <LI>
- 목록 만들기
○ <A HREF = "(URL)"> ~ </A>
- 지정된 URL(Uniform Resource Locator)로 하이퍼링크 설정
○ <IMG SRC="(URL)"> ~ </IMG>
- 지정된 URL의 그림 가져오기
HTML 문서에 애플릿 삽입
○ <APPLET> ~ </APPLET> 태그
- 애플릿으로 실행될 바이트코드 파일(.class)의 경로와 픽셀(pixel) 단위의 윈도우 크기(폭 X 높이)를 설정함
예) <APPLET CODE="SimpleApplet.class" width=300 height=100></APPLET>
AWT와 Swing
○ AWT(Abstract Window Toolkit)
- Java 어플리케이션(또는 애플릿)과 시스템의 native GUI를 연결해주는 추상화된 상위 수준의 GUI 라이브러리를 제공
가) 다양한 종류의 사용자 인터페이스 컴포넌트를 가진다.
나) 강력한 이벤트(event) 처리 모델
다) 그래픽과 이미지 툴(색상, 모양, 폰트 등)
라) 레이아웃(Layout)관리
마) 데이터 전송(예: cut-and-paste 기능)
바) 실행 플랫폼(주로 OS)에 따라 다르게 표현가능하다.
사) 대부분의 웹 브라우저에서 그대로 실행이 가능하다.
○ Swing
- AWT를 기반으로 100% 순수 자바로 구현된 GUI라이브러리를 제공
가) AWT의 컴포넌트 이외에도 더 많은 컴포넌트를 제공
나) 실행 플랫폼에 상관없이 동일하게 표현
다) 웹 브라우저에서 실행하려면 Java 플러그인(plug-in)을 설치해야한다.
클래스 계층구조

AWT 컴포넌트 계층구조

Java 이벤트(Event)
○ 이벤트 처리 방식
- 주로 사용자의 행동(마우스 또는 키보드 조작)에 의해 유발됨
- 컴퓨터 하드웨어가 발생시키고 운영체제를 거쳐 JVM으로 전달됨
- 프로그래머는 인터페이스로 정의된 이벤트 리스너(event listener)또는 추상클래스로 정의된
이벤트 어댑터(event adaptor)를 구현하여 처리함
○ 이벤트 종류
| ActionEvent - ActionListener ComponentEvent - ComponentListener / ComponentAdaptor ContainerEvent - ContainerListener / ContainerAdaptor FocusEvent - FocusListener / FocusAdaptor ItemEvent - ItemListener KeyEvent - KeyListener / KeyAdaptor MouseEvent - MouseListener / MouseAdaptor MouseMotionEvent - MouseMotionListener / MouseMotionAdaptor TextEvent - TextListener WindowEvent - WindowListener / WindowAdaptor |
실행 예제
| package kr.ac.cyberkorea; import java.applet.Applet; //버튼을 누르는 이벤트 발생시 실행될 메소드 if(e.getActionCommand().equals(state1)){ } |














