日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java applet 换行_Java Applet编程总结

發(fā)布時間:2023/12/18 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java applet 换行_Java Applet编程总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:熔巖

日期:2007-03-16

MSN :[email]leizhimin@126.com[/email]

聲明:原創(chuàng)作品,未經(jīng)授權(quán),謝絕轉(zhuǎn)載!

Java Applet編程總結(jié)

寫作日期:2005年5月

一、Java Applet的運(yùn)行原理和生命周期

1.Applet被嵌入到HTML頁面中,并由applet的容器(appletviewer或者Web瀏覽器)執(zhí)行.

2.Applet的運(yùn)行由瀏覽器控制,不由Applet中的代碼控制.當(dāng)瀏覽器載入包含由Applet的Web頁面時,它將生成一個Applet類的對象,然后利用? Applet類對象的五個public的void方法控制Applet的執(zhí)行,這五個方法如下:init,start,paint,stop,destory;

3.Applet有5個public的void方法(Applet的生命周期):

init()

啟動Applet,瀏覽器總是調(diào)用Applet類的默認(rèn)構(gòu)造器生成對象,然后調(diào)用init()方法經(jīng)行初始化.一般在這個方法中生成Applet運(yùn)行所需的對象并初始化Applet類的所有數(shù)據(jù)成員.

start()

由瀏覽器調(diào)用.啟動或者重新啟動Applet.當(dāng)Applet第一此啟動時,start方法將緊跟init()方法后被瀏覽器調(diào)用.如果用戶離開當(dāng)前的HTML頁面后,在重新返回到當(dāng)前HTML頁面時,start()方法也會調(diào)用.start()方法一般用來啟動applet需要的人和附加線程

paint(Graphics g)

在init()方法執(zhí)行結(jié)束,start()方法啟動之后,就調(diào)用此方法畫圖.另外,每次需要重新繪制Applet時,也將調(diào)用此方法.本方法的典型應(yīng)用,包括是使用Applet容器傳遞給paint()方法Graphics對象g畫圖.

stop()

當(dāng)用戶離開包含該Applet的HTML頁面時,瀏覽器調(diào)用此方法.stop方法被調(diào)用后,將立即停止所有在start()方法中啟動的操作.

destory()

在終止Applet運(yùn)行時,調(diào)用destory()方法,以便釋放Applet占用的,由本地操作系統(tǒng)管理的任何系統(tǒng)資源.此方法執(zhí)行之前,總是先調(diào)用stop()方法.

二、Java Applet編程

1.paint方法中的Graphics對象g的創(chuàng)建由Applet容器(appletviewer或者Web瀏覽器)負(fù)責(zé).

2.在paint(Graphics g)方法中,第一句常寫上super.paint(g),用來調(diào)用父類Applet的paint方法.一般情況下沒有該語句也可以運(yùn)行,但在一個擁有眾多繪圖組件和GUI組件的復(fù)雜Applet中,忽略該語句可能導(dǎo)致嚴(yán)重的錯誤.所以,在編寫Applet程序的時候,一定在paint方法的的一行設(shè)置這條語句,這是一個很好的編程習(xí)慣.

import java.awt.Graphics;

import javax.swing.JApplet;

public class DrawMultiStringApplet2 extends JApplet{

// 在applet上繪制文本

public void paint(Graphics g){

super.paint(g);

g.drawString("Java TM Applet", 25, 25);

}

}

3.Java坐標(biāo)系的原點(diǎn)在左上角,以像素為單位.像素是計算機(jī)屏幕上最小的顯示單位.

4.在Java中繪制文本的時候,加入"\n"換行符是不能換行的,有時會顯示出一個黑框表示未知字符,或者干脆顯示不出來.

5.Image類是一個抽象類,所以?Applet不能直接創(chuàng)建Image類的對象,Applet必須調(diào)用一個方法,讓Applet容器加載并返回程序要使用的Inmage類的對象.JApplet的超類Applet提供了一個名為getImage的方法,該方法將Image加載到Applet中,方法接收兩個參數(shù)---圖像文件的位置和文件名.例如;logoJPG = getImage(getDocumentBase(), "logo.jpg");

6.repaint()方法被調(diào)用的時候,需要清除整個背景,然后才調(diào)用paint方法顯示畫畫.這樣在清除背景河繪制圖像的短暫時間間隔內(nèi)被用戶看見的就是閃爍.下面的兩種方法可以明顯地消除或者減弱閃爍:

重載update()方法

當(dāng)AWT接受到Applet重新繪制的請求的時,調(diào)用Applet的update方法.默認(rèn)情況下,update方法清除Applet的背景,然后調(diào)用paint方法.重載update方法,就可以將以前在paint方法中繪圖代碼包含在Applet方法中,從而避免每次重新繪制試將整個區(qū)域清除.

雙緩沖技術(shù)

雙緩沖技術(shù)在很多動畫Applet中被采用.主要原理是創(chuàng)建一幅后臺圖像,將每一幀畫入圖像,然后調(diào)用drawImage方法,將整個后臺圖像一次畫到屏幕上去.這種方法的優(yōu)點(diǎn)在于大部分繪制是在后臺進(jìn)行的.將后臺繪制的圖像一次繪制到屏幕上.在創(chuàng)建后臺圖像前,首先通過調(diào)用createImage方法生成合適的后臺緩沖區(qū),然后獲得在緩沖區(qū)的繪圖環(huán)境(即Graphics類對象).

總結(jié): 綜上所述,改善畫圖的思路是:不直接在paint方法中調(diào)用各種繪制方法,而是采用重載update方法及雙緩沖技術(shù),生成一個圖像的緩沖區(qū),獲得該緩沖區(qū)中的繪圖環(huán)境后,將該繪圖環(huán)境讀入內(nèi)存.paint方法不再負(fù)責(zé)圖像的繪制工作,即paint方法不再裝入任何的圖像繪制代碼.我們在paint方法中,直接調(diào)用update方法,在內(nèi)存緩沖區(qū)的繪圖環(huán)境下進(jìn)行圖像的繪制工作,當(dāng)所有的圖像繪制工作完成后,最后將緩沖區(qū)的內(nèi)容一次性地寫入Applet并在Applet窗口直接顯示出來.這種方法很巧妙地解決了圖像丟失河閃爍的問題.

三、Java Applet的深入學(xué)習(xí)

學(xué)習(xí)Java Applet資料實(shí)在太容易獲得了,在你安裝了JDK后,在JDK里面有個demo目錄,里面有Applet精品源代碼,個個堪稱經(jīng)典,運(yùn)行這些Applet代碼,你會發(fā)現(xiàn)Applet的功能是如此的強(qiáng)大,實(shí)現(xiàn)三位的圖形,豐富多彩的動畫,時鐘等等。

四、Applet的應(yīng)用領(lǐng)域現(xiàn)在,隨著Flash的火爆流行,Applet已經(jīng)淡出了實(shí)現(xiàn)豐富多彩網(wǎng)頁動畫舞臺。現(xiàn)在Applet一般應(yīng)用于復(fù)雜動態(tài)的Web應(yīng)圖形領(lǐng)域、人機(jī)交互等等。比如可以用Applet實(shí)現(xiàn)股票代碼的動態(tài)曲線繪制,展示在頁面中,還可以用Applet做一些基于瀏覽器的復(fù)雜實(shí)時web監(jiān)控系統(tǒng)系統(tǒng),比如要通過internate或者intranet實(shí)現(xiàn)對工廠機(jī)器運(yùn)轉(zhuǎn)參數(shù)的檢測等等,這些都是其他web技術(shù)難以實(shí)現(xiàn)的。

總結(jié)

以上是生活随笔為你收集整理的java applet 换行_Java Applet编程总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。