程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java Applet技巧

Java Applet技巧

編輯:關於JAVA

Java Applet因其強大的功能在網絡的運用中越來越受重視,然而Java的編程卻不是那麼簡單的;所謂萬事開頭難,Java的編寫也是如此,因此我在這裡介紹一些最基本的Java應用技巧給大家做參考,希望能對大家有所啟發。以下我介紹一些Java運用中最基本的技術,與這些程序相關的例子請看Applet實例。

顯示文字

讀取參數

響應鼠標

響應鍵盤

顯示圖像文件

播放聲音文件

獲取程序顯示空間大小

設置顏色

顯示文字

顯示文字是Java中最基本的功能,使用非常簡單的方式來支持文字的顯示,只要使用類Graphics中的drawString()函數就能實現。我們來看最簡單的HelloWorld例子:

//HelloWorld.java
import java.awt.*;
import java.applet.*;
public class HelloWorld extends Applet
{
String text="Hello World!";
public void paint(Graphics g)
{g.drawString(text,20,20);} //在坐標20,20處顯示text的內容
}

這是最基本的Java Applet,運行的時候僅顯示“Hello World!”。Java支持Unicode,因此中文也能在Java中很好地顯示出來,我們把“Hello World!”改成“世界你好!”,同樣可以顯示(如果無法正確顯示,則是浏覽器的Bug,我所用的IE4.0就存在這樣的問題,請改用Netscape)。值得注意的是,在Java中每個字符用16位來表示,而不是8位,這與C語言是不同的。

讀取參數

Java Applet也可以從所在的頁面讀取參數,頁面通過<param name="??" value="??">將參數傳遞給Applet,程序應該在初始化的階段將參數讀入,完成程序的准備工作。例子:

//ShowText.java
import java.awt.*;
import java.applet.*;
public class ShowText extends Applet
{
String text;
public void init()//初始化函數
{
text=getParameter("word");//讀入參數word
}
public void paint(Graphics g)
{g.drawString(text,20,20);}
}

因此我們應該在頁面中設置word的參數:

<applet code="ShowText.class" width="100" height="28">
<param name="word" value="Hello World!">
</applet>

此時程序就可以從參數"word"中讀到"Hello World!",然後顯示出來。當然在參數設置中,word和WORD是一樣的,不區分大小寫。

響應鼠標

與用戶的交互是Java的主要作用,也正是Java吸引人的原因,用戶可以通過鼠標和鍵盤與Java Applet程序對話。我們先來看響應鼠標的例子:

//Mouse.java
import java.awt.*;
import java.applet.*;
public class Mouse extends Applet
{
String text="";
public void paint(Graphics g)
{g.drawString(text,20,20);}
public boolean mouseDown(Event evt,int x,int y)//鼠標按下處理函數
{
text="Mouse Down";
repaint();
return true;
}
public boolean mouseUp(Event evt,int x,int y)//鼠標松開處理函數
{
text="";
repaint();
return true;
}
}

當用戶點擊程序時,程序將顯示"Mouse Down",說明程序對鼠標作出了響應。然而要注意Java並不區分鼠標的左右鍵。

響應鍵盤

我們再來看對鍵盤響應的例子:

//Keyboard.java
import java.awt.*;
import java.applet.*;
public class Keyboard extends Applet
{
String text="";
public void paint(Graphics g)
{g.drawString(text,20,20);}
public boolean keyDown(Event evt,int x)//鍵盤被按下的處理函數
{
text="Key Down";
repaint();
return true;
}
public boolean keyUp(Event evt,int x)//鍵盤被松開的處理函數
{
text="";
repaint();
return true;
}
}

當鍵盤被按下時,程序就會顯示"Key Down",鍵盤松開時清除文字。利用這些函數,我們就可以用鼠標和鍵盤函數與用戶交互。

顯示圖像文件

由於圖像文件在web上的廣泛應用,因此Java也提供了許多函數,對圖像進行各種處理,比如對圖像進行顯示、拷貝、切割、縮放、各種顏色的變換等等。最常使用的就是圖像的顯示,而且也非常簡單,僅僅用drawImage()就可實現:

//ShowImg.java
import java.awt.*;
import java.applet.*;
import java.awt.image.*;
import java.awt.image.ImageObserver;
import java.net.URL;
public class ShowImg extends Applet implements ImageObserver//使用ImageObserver接口
{
Image img;
public void init()
{
String imgname=getParameter("imagename");
URL imgURL=getDocumentBase();
img=getImage(imgURL,imgname);
}
public void paint(Graphics g)
{g.drawImage(img,0,0,this);}
}

此時將圖像文件名放在參數imagename中傳送給程序,程序將顯示出圖像。目前,Java支持的圖像格式有gif、jpg文件。要注意,由於圖像文件是異步傳輸的,因此我們使用了接口ImageObserver來處理圖像傳輸過程中的信息;當然必要的時候,我們可以用類MediaTracker來跟蹤圖像的傳輸。

播放聲音文件

聲音和圖像是息息相關的,既然說了圖像當然要再講一講聲音。Java提供了簡單的聲音函數來支持聲音的播放,這幾個聲音函數分別是play()、loop()和stop()。我們來看用play()函數來播放聲音的例子:

//Sound.java
import java.awt.*;
import java.applet.*;
import java.net.URL;
public class Sound extends Applet
{
String soundname;
public void init()
{
soundname=getParameter("soundname");
}
public boolean mouseDown(Event evt,int x,int y)
{
play(getDocumentBase(),soundname);
return true;
}
}

把聲音文件通過參數"soundname"傳送給程序,當鼠標點擊程序時,就會播放指定的聲音文件。要注意,聲音的播放也是異步執行的,當執行play()函數時,函數立即返回,聲音由後台程序播放。

獲取程序顯示空間大小

Java Applet是在頁面中運行的,在頁面中我們通過定義"width=?? height=??"來規定Java程序的顯示空間。因此Java程序獲得此信息是十分必要的,Java程序應該通過調整自身來適應外部空間。下面我通過一個畫橢圓的程序來介紹獲得顯示空間大小的方法:

//GetSize.java
import java.awt.*;
import java.applet.*;
public class GetSize extends Applet
{
Dimension sz;
public void init()
{sz=size();}//獲得空間大小
public void paint(Graphics g)
{g.fillOval(0,0,sz.width,sz.height);}
}

程序通過size()函數獲得空間大小,此函數返回的是Dimension類,程序的顯示寬度和高度都包含在返回的Dimention類中。

設置顏色

要做一個漂亮的Java Applet程序一定離不開顏色的設置,包括背景顏色和前景顏色,Java提供了豐富的顏色處理函數。我們這裡只介紹最簡單的顏色設置,這個程序將背景設置成藍色,前景設置成綠色,並用前景色填充一個矩形:

//SetColor.java
import java.awt.*;
import java.applet.*;
public class SetColor extends Applet
{
public void paint(Graphics g)
{
setBackground(Color.blue);//設置背景色為藍色
setForeground(Color.green);//設置前景色為綠色
g.fillRect(25,4,50,20);
}
}

另外,還可以用Graphics類中的seColor()函數來改變畫筆顏色。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved