设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 VJ6.0的使用方法(5)Applet编写调试过程
 日期:2006-1-20 9:46:16  来源:CSDN
一个Applet的编写与调试过程
Applet与Application虽然有很大的不同,但操作上基本同Application的操作差不多,但编辑上还是有一些差别的。因此,这里也给大家举一个例子。这个例子稍为有点复杂,希望看的时候已经学过了一些Java的基本知识了。这个例子的目的是要实现一个跑马灯的Java Applet程序,这个例子的效果如下:



1 选择新建菜单“new”,然后选择“new”下面的选项:Applet on HTML,设置好名称与路径之后,按下确定按钮,系统将自动帮我们生成一两个文件,一个是Applet的初始代码文件,另外一个就是HTML网页文件了。如下图:



2 在工程浏览窗口中双击Applet1文件,这时就可以打开这个代码文件了。代码文件比较长,这里不列出,要查看代码,请点击这里。双击page1.html文件,也就打开这个HTML文件了,这个文件打开时,会显示如下图所示:



这个窗口里面有三个选项了,如果你用过Frontpage,那么你将对这个非常的熟悉。这里就像Frontpage一样,是一个网页编辑器,工具箱中也有你编辑网页所要的控件。不用多解释,看看Source(源代码),打开后,有的可能显示的是该Applet的内容。而有的可能显示的是代码,这与VJ6的初始设定有关,在Applet上面点击鼠标右键,选择“Always view as text”后,就可以看到代码了,代码如下:

<applet
code=Applet1.class
name=Applet1
width=320
height=200 VIEWASTEXT>
<param name=label value="This string was passed from the HTML host.">
<param name=background value="008080">
<param name=foreground value="FFFFFF">
</applet>

这个不用多解释,按照自己的要求改就行了。此时不能点击Quick View进行快速预览,因为该Applet还没有被编译成Class文件。
3 此时将这个Applet程序运行,按下F5键,直接运行,那么此时VJ6会自动编译此程序,并且用默认的浏览器打开这个HTML文件并显示出来。

4 这个时候我们就要进行真正的添加代码的工作了。只有添加了必要的代码后,才能达到预期的目标嘛!请打开源代码文件Applet1,双击就行!

先要做的工作,当然是设置变量,变量放在主类当中,如下:

Font ft; //文字字体对象实例
String theString, font, style; //移动的字符串、字体类型及样式
int size, speed; //文字的大小,移动速度
int xSet, Max, Min;//文字所在位置的x坐标,右边界和左边界

定义好变量后,就要像给出的源代码一样,加入一些初始的代码了。

private final String param_string="string";
private final String param_font="font";
private final String param_style="style";
private final String param_size="size";
private final String param_speed="speed";

现在要做的事情就是从网页文件HTML中取得各种参数了,就像初始代码取得参数一样,这些可以参照初始代码而写出来!如下。

String param;
param = getParameter ( param_string);
if(param !=null) theString= param;//取得字符串参数
param = getParameter ( param_font);
if(param !=null) font= param;//取得字型参数
param= getParameter ( param_size);
if (param !=null) size=Integer. parseInt ( param);//取得字提大小参数
param= getParameter ( param_style);
if(param!=null) style= param;//取得字型样式参数
param= getParameter ( param_speed);
if(param !=null) speed=Integer.parseInt (param);//取得文字移动速度参数
int vice_style = Font.PLAIN ;
if(style. equalsIgnoreCase ( "BOLD"))
vice_style=Font.BOLD ;
if (style.equalsIgnoreCase ("ITALIC"))
vice_style=Font.ITALIC ;//处理得到的字型参数,忽略大小写

ft=new Font(font,vice_style,size);
FontMetrics fm= getFontMetrics(ft);//生成FontMetrics类对象实例
Min= -fm.stringWidth (theString);
Max= getSize().width ;
Offset= Max;

接下来要做的事情,当然是要做最重要的工作了。编写程序的主要部分,字体滚动的过程。这部分的代码就不详细解释了。希望你已经学过Java语法了。

public void paint(Graphics g)
{
int ySet=getSize().height ;//yset为输出字符串的y坐标变量
ySet=(ySet-size)/2;
g.setFont (ft);
g.setColor (Color.red);
g.drawString (theString,xSet,ySet+40);
//+40是用来调整输出时的高度用的。
xSet--;
if(xSet
}

public Thread TextMoveRunnable=null;
public void start()
{
if(TextMoveRunnable==null)
{
TextMoveRunnable=new Thread (this);
TextMoveRunnable.start ();
}
}
public void run()
{
while(true)
{
try{
repaint();Thread.sleep (speed);
}catch(InterruptedException e) {}
}
}
public void stop()
{
if (TextMoveRunnable!=null)
{
TextMoveRunnable.stop();
TextMoveRunnable=null;
}
}

这部分代码应该加在与initForm()并列的地方,可以在之前,也可以在之后。在加完这些代码之后,程序的大体就完成了。但如果你此时编译的话,肯定会出现错误,在Task List上会显示出来,并且错误为“Class 'Thread' doesn't have a constructor that matches 'Thread(Applet1)' (J0082)”这是因为加进去的代码涉及到了线程,而主程序不知道,没有相应的接口,(J0082)为错误的序号,查找相应的工具,有这个错误的详细解释。要解决这个错误,只要在主类后面加上一个接口就可以了。如下:

本新闻共3页,当前在第1页  1  2  3  

相关文章

·VJ6.0的使用方法(4)Application调
·VJ6.0的使用方法(3)关于WFC
·VJ6.0的使用方法(2)菜单与工具栏
·VJ6.0的使用方法(1)概述、VJ6的获
·Java程序的反编译问题
·课程介绍(12)SL-330 Java开发数据
·课程介绍(11)SL-351 Java数据库应
·课程介绍(10)SL-315 Java Server
·课程介绍(9)SL-310 超越CGI 开发
·课程介绍(8)SL-425 体系结构及J2


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作