// import java.awt.*; import java.applet.*; public class AppletEx1 extends Applet { // 항상 애플릿은 java.applet.Applet에서 파생 Image image; AudioClip audio; public void init() { String arg=getParameter("IMAGE"); // HTML 문서에서 IMAGE 변수값을 읽는다 if (arg==null) { arg="duke.gif"; // IMAGE 변수가 지정되지 않을 경우 기본값 지정 } image=getImage(getDocumentBase(), "images/"+arg); // HTML 문서가 있는 경로의 하위 디렉토리 images에 있는 arg 이미지 파일을 읽음 arg=getParameter("AUDIO"); if (arg==null) { arg="hello.au"; } audio=getAudioClip(getDocumentBase(), "audio/"+arg); } public void start() { // 웹 브라우저가 애플릿 init()이 끝난 후 호출 audio.loop(); // 오디오 파일을 계속해서 연주 } public void stop() { // 웹 브라우저가 종료하기 전이나 애플릿 실행을 중단할 때 호출 audio.stop(); // 오디오 파일 연주 중단 } public void paint(Graphics g) { Rectangle rect=bounds(); // 윈도우의 경계를 구한다. g.drawImage(image, 0, 0, rect.width, rect.height, this); /* 위에서 마지막 인자인 this는 ImageObserver 인터페이스에 해당하는데 이미지를 다 그리거나 중단된 경우 그 결 과를 바로 화면에 갱신한다. 보통 해당 윈도우 인스턴스 값(여기서는 this)을 사용한다. */ } }