>  기사  >  Java  >  작은 Java 애플리케이션 공유: 애플릿

작은 Java 애플리케이션 공유: 애플릿

Y2J
Y2J원래의
2017-05-18 10:15:055640검색

Java 애플릿은 Java 언어로 작성된 작은 애플리케이션으로 웹 페이지에 직접 삽입될 수 있으며

애플릿이 컴파일되면 .class 파일을 생성하고 HTML 웹 페이지에 .class 파일을 포함시킵니다. 사용자가 웹 페이지에 연결되어 있는 한, 애플릿은 웹 페이지와 함께 사용자의 컴퓨터에 다운로드되고

애플릿 클래스의 상속 관계는 다음과 같습니다.

java.lang.Object

java.awt.Component

java.awt.Container

java.awt.Panel

java.applet.Applet

애플릿의 라이프사이클은 다음과 같습니다


애플릿의 네 가지 주요 메소드

public void init(): 현재 애플릿이 시스템에 로드되었음을 알리기 위해 브라우저 또는 애플릿 뷰어에 의해 호출됩니다. 이 메소드는 항상 start() 전에 호출됩니다. 메소드가 처음으로 호출됩니다

public void start(): 현재 애플릿에 실행을 시작해야 함을 알리기 위해 브라우저 또는 애플릿뷰어에 의해 호출됩니다. 이 메소드는 init() 메소드 다음에 호출되며 이 메소드는 웹 페이지가 애플릿에 액세스할 때마다 호출됩니다.

public void stop(): 현재 애플릿에 실행을 중지해야 함을 알리기 위해 브라우저 또는 애플릿 뷰어에 의해 호출됩니다. 현재 애플릿은 다른 웹 페이지로 대체됩니다. 이 메서드는 destroy() 메서드를 호출하기 전에도 호출됩니다.

public void destroy(): 현재 애플릿에 이를 알리기 위해 호출됩니다.

다음 코드를 참조하세요

import java.awt.*;
import java.util.*;
public class cam1 extends java.applet.Applet
{
     String s;
     int inits=0,starts=0,stops=0;
     public void init()
     {
    	 inits++;
    	 showStatus("now init");
    	 System.out.println("now init");
    	 pause();
    	 showStatus("leave init");
    	 System.out.println("leave init");
    	 pause();
     }
     public void start()
     {
    	 starts++;
    	 showStatus("now start");
    	 System.out.println("now start");
    	 pause();
    	 showStatus("leave start");
    	 System.out.println("leave start");
    	 pause();
     }
     public void stop()
     {
    	 stops++;
    	 showStatus("now stop");
    	 System.out.println("now stop");
    	 pause();
    	 showStatus("leave stop");
    	 System.out.println("leave stop");
    	 pause();
     }
     public void paint(Graphics g)
     {
    	 s="inits: "+inits+"starts: "+starts+"stops: "+stops;
    	 g.drawString(s, 10, 10);
    	 System.out.println("now paint: "+s);
    	 pause();
     }
     public void pause()
     {
    	 Date d=new Date();
    	 long t=d.getTime();
    	 while(t+1000>d.getTime())
    	 {
    		 d=new Date();
    	 }
     }
}

애플릿 뷰어는 다음과 같습니다


eclipse 의 콘솔은 다음과 같습니다

이제 초기화합니다

초기화 종료

지금 시작

시작 종료

now 페인트: inits: 1starts: 1stops: 0

now 페인트: inits: 1starts: 1stops: 0 //줌(확대)

now 페인트: inits: 1starts: 1stops: 0 //Zoom(축소)

이제 중지 //Restart

중지 나가기

지금 초기화

초기화 종료

지금 시작

시작하기

이제 페인트: inits: 2starts: 2stops: 1

이제 중지

멈춤

HTML에 삽입

<HTML>
<HEAD>
<TITLE>WELCOME </TITLE>
</HEAD>
<BODY> test
<APPLET code="cam1.class" WIDTH=750 HEIGHT=325>
</APPLET>
</BODY>
</HTML>

Google Chrome을 사용하고 있으며 웹페이지는 다음과 같이 열립니다


Java 콘솔에서 System.out.println의 출력 보기

Java 제어판에 표시할 Java 콘솔을 설정하기 전


창의 크기가 조정되거나 이동되거나 내용이 변경되면 페인트

기능 애플릿 창을 다시 그립니다

콘솔에 다음과 같이 표시됩니다


Java 插件10.13.2.20
使用 JRE 版本 1.7.0_13-b20 Java HotSpot(TM) Client VM
用户主目录 = C:\Users\Administrator
----------------------------------------------------
c:   清除控制台窗口
f:   终结在结束队列上的对象
g:   垃圾收集
h:   显示此帮助消息
l:   转储类加载器列表
m:   打印内存使用情况
o:   触发日志记录
q:   隐藏控制台
r:   重新加载策略配置
s:   转储系统和部署属性
t:   转储线程列表
v:   转储线程堆栈
x:   清除类加载器高速缓存
0-5: 设置跟踪级别为<n>
----------------------------------------------------
now init
leave init
now start
now paint: inits: 1starts: 1stops: 0
leave start
now paint: inits: 1starts: 1stops: 0   //缩放
now paint: inits: 1starts: 1stops: 0
now paint: inits: 1starts: 1stops: 0
now paint: inits: 1starts: 1stops: 0
now stop  //刷新网页
leave stop
Exception in thread "thread applet-cam1.class-1" java.lang.NullPointerException
	at java.awt.EventQueue.isDispatchThread(Unknown Source)
	at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.runOnEDT(Unknown Source)
	at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.doClearAppletArea(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
now init
leave init
now start
now paint: inits: 1starts: 1stops: 0
leave start

[관련 추천]

1.

특별 추천: "php Programmer Toolbox" V0.1 버전 다운로드

2.

Java 무료 동영상 튜토리얼

3. Java Applet 프로그램을 먼저 알아보세요

4. Applet 환경 구성 방법을 알려줍니다.

5. Application과 Applet의 차이점에 대한 자세한 설명

위 내용은 작은 Java 애플리케이션 공유: 애플릿의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.