자바(Java)/JAVA 2SE

애플릿(Applet)이란?

본클라쓰 2009. 1. 7. 14:35

 

 애플릿은 자바를 유명하게 만든 이유 중에 하나 이다. 애플릿은 웹 브라우저에서 애플릿 기능을 가진 웹 서버에 접속하면 애플릿 프로그램이 자동으로 브라우저로 다운로드되어 실행이 가능해지게 만들어졌다. 이렇게 동적으로 서버에서 프로그램을 다운받아서 실행하는 아이디어는 웹 컴퓨팅(Web Computing)이라는 새로운 분야를 소개했고, 이렇게 웹 브라우저로 소프트웨어가 동적으로 다운로드 되어 실행이 가능하도록 해 준 것이 바로 자바의 애플릿(Applet)다.

 

 애플릿은 java.awt.Panel클래스의 하위 클래스이기 때문에, AWT에서 제공하는 그래픽 기능과 다른 컴포넌트를 포함 할 수 있는 기능을 갖는다. 또한 마우스 이벤트나 키보드 이벤트를 처리할 수 있다. 단 웹 브라우저에서 실행된다는 점만 빼 놓으면, AWT 프로그램과 거의 비슷하게 동작한다고 할 수 있다.

 

 애플릿이 포함된 페이지가 웹 브라우저에서 처음 읽히는 경우에는 init()메소드가 호출되며, 해당 페이지를 사용자가 볼때마다 start()메소드가, 해당 페이지를 떠날 때마다 stop()메소드가 호출된다. 중간중간 프로그램내에서나 혹은 애플릿의 화면을 다시 그려야 하는 경우에는 paint()메소드가 호출되게 되며 마지막으로 브라우저를 종료하게 되면, destroy()메소드가 호출되게 된다. 보통 애플릿을 작성하는데 있어서, init()메소드와 paint()메소드만 오버라이딩 해주면, 특별한 문제 없이 애플릿의 작성이 가능하다.

 

 

[ 애플릿을 사용한 예제 ]

/** 간단한 애플릿 사용 예제 */  

import java.applet.Applet;
import java.awt.*;

 

public class Simulator extends Applet {


    Font f;
 

    /* 초기화 메소드 */
    public void init() {                

        f = new Font("SansDerif", Font.BOLD, 20);
    }

 

    /* 페이지를 열 때 행동을 정의하는 메소드 */ 
    public void start() {            

        setBackground(Color.yellow);
        repaint();
    }


     /* 표현할 행동을 정의한 메소드 */ 
    public void paint(Graphics g) {         
        g.setFont(f);
        g.drawString("hello world", 10, 80);
    }

}

 

[ 애플릿 출력 결과 ]