服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java script与java applet综合运用(三)

这次我们来谈一谈java applet之间的互相调用,这里所说的java applet是指同页之间的java applet。由于这里涉及到java applet编程的细节,可能具有一些难度。如果你有过java的编程经验,你会发现这很容易,并能很快掌握;若你是java新手,也不要产生畏难心理,你需要一些介绍java编程的书籍,最重要的是实践,慢慢你就会掌握java编程技巧的;当然如果你是java高手,嘿嘿!请教教我如何进行java编程吧。好了,let's go!

我们这次也用举例的方式来介绍java applet之间的调用。仍旧用helloworld1 (helloworld最容易掌握,不是吗?)作为例子。

helloworld1.java

import java.awt.*; 
import java.applet.*; 
public class helloworld1 extends applet 
{ 
public string text="hello world!";//请注意此处的public 
public void paint(graphics g) 
{g.drawstring(text,20,20);} 
}

还是最初的那个helloworld1,丝毫没有改变。

settext.java

import java.awt.*; 
import java.applet.*; 
import java.awt.event; 
public class settext extends applet 
{ 
string newtext="世界你好!"; 
public void paint(graphics g) 
{g.drawstring(newtext,20,20);
} 
//添加了对鼠标的处理函数 
public boolean mousedown(event evt,int x,int y) 
{string temp; 
applet hello=getappletcontext().getapplet("app"); 
temp=((helloworld1)hello).text; //将hello定义为helloworld1类 
((helloworld1)hello).text=newtext; 
((helloworld1)hello).repaint(); 
newtext=temp; 
repaint(); 
return true; 
} 
}

为了避免使用java script而引起误会,我们在settext中增加了对鼠标的处理函数;另外我们在编译settext时,必须先编译helloworld1.java,并把编译后的helloworld1.class放在指定的目录例如lib;然后运行javac -classpath lib settext.java,编译后得到settext.class。

example3.html

<html> 
<head><title>例子</title></head> 
<body> 
java script与java applet的综合运用例三<br> 
<applet code="helloworld1.class" width="100" height="28" name="app"> 
</applet><br><br> 
<applet code="settext.class" width="100" height="28" > 
</applet><---请点击这里 
<br>如果你的浏览器无法正确显示"世界你好!",请改用netscape试试。 
</body> 
</html>

用浏览器打开example3.html,会出现两个applet分别显示"hello world!"和"世界你好!",点击下方的applet(settext.class)你会发现两个applet中的内容发生了互换(如果你发现"世界你好!"显示不正常,那是你所用浏览器的java虚拟机对中文支持不够好,我就发现我机子上的ie4.0无法在applet中显示中文,这是浏览器的bug,我以前还曾发现ie在处理date时,愣是把时间减少了7个小时,升级到win98之后,才改正此bug)。

扫描关注微信公众号