자바 애플릿 기본 구성 및 활용 Applet 클래스와 AudioClip

자바 애플릿 기본 구성 및 활용 Applet 클래스와 AudioClip


Applet 클래스
애플릿 클래스에서 유용하게 사용되는 메서드

  • Applet 메서드(Methods)
    Method 내용
    getAppletContext() 현재 웹 체이지에서 애플릿의 작업 영역을 AppletContext클래스에 저장
    getAudioClip(URL url, String str) url경로의 str 이라는 이름을 가진 오디오 파일을 AudioClip의 객체로 생성
    getCodeBase() applet태그의 code 속성으로 지정되어 있는 클래스 파일이 저장된 경로
    getDocumentBase() 현재 실행중인 HTML 문서가 저장되어 있는 경로
    getImage(URL url) url경로의 이미지 파일을 Image객체로 생성
    getParameter(String param) param 이름으로 전달된 데이터의 값을 얻어 내는 메서드
    init() 애플릿 호출시 가장 처음으로 실행되어 애플릿을 초기화 시키는 메서드
    start() init() 메서드 호출레 이어서 자동으로 실행되는 메서드
    stop() HTML 페이지를 벗어날 때 자동으로 호출되는 메서드
    resize(int w, int h) 현재의 애플릿 크기를 폭 w, 높이 h로 재조정하는 메서드
    showStatus(String msg) 하단의 상태 표시줄에 msg를 출력하는 메서드

ex ) 애플릿 클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.applet.*;
import java.awt.*;
public class Round21_Ex06 extends Applet {//Applet을 상속받는다
private int num = 0;
public void init() {
num = Integer.parseInt(this.getParameter("number"));
}
//초기의 세팅값을 설정한다 애플릿이 실행되면 init메서드부터 실행된다
public void paint(Graphics g){
//applet실행되면 init이후에 paint가 실행된다 화면에 그린다
Dimension di = this.getSize();
for(int i = 0; i<num; i++) {
g.setColor(new Color((int)(Math.random() * 256), (int)(Math.random() * 256),
(int)(Math.random() * 256)));
int xpos = (int)(di.getWidth() * Math.random());
int ypos = (int)(di.getHeight() * Math.random());
g.setFont(new Font("TimesRoman", Font.BOLD, 15));
g.drawString("*", xpos, ypos);
try{
Thread.sleep(100);
}catch(InterrupterException ee){}
}
}
}

ex ) HTML 실행 애플릿

1
<html><head></head><body><center><applet code="Round21_Ex06.class" width="500" height="500"><param name="number" value="100"></applet></center></body><html>

AudioClip
AudioClip은 애플릿에서 단순한 오디오 파일을 재생할 수 있도록 객체형태를 제공해 주는 인터페이스이다

실행할수 있는 객체로는

  • AudioClip ac = Applet_객체.getAudioClip(URL_객체, 오디오_파일명);
  • 여기서 사용되는 오디오 파일명은 .au나 .wav등이다

위의 형식에서 URL객체는 오디오 파일이 들어 있는 위치를 나타낸다 .
그러나 그 경로가 웹에서 실행되기 때문에 로컬경로를 사용하게 되면 찾지못할것이다
찾는 방법으로는 getDocumentation()이나 getCodeBase()메서드로 경로를 파악해서 사용한다

ex )

1
2
3
AudioClip ac = this.getAudioClip(this.getCodeBase(), "myaudio.au");
ac.loop();//사운드를 무한반복 실행한다
ac.stop();//사운드를 멈춘다

Share