Java Applet的应用技巧
2008-01-05 09:18:31 来源:WEB开发网核心提示:java Applet因其强大的功能在网络的运用中越来越受重视,然而Java的编程却不是那么简单的;所谓万事开头难,Java Applet的应用技巧,Java的编写也是如此,因此我在这里介绍一些最基本的Java应用技巧给大家做参考,前景设置成绿色,并用前景色填充一个矩形: //SetColor.java import
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()函数来改变画笔颜色。
赞助商链接