{
//当鼠标位于以下区域(Java Applet 布局)内时,执行画线操作
if
(x0 >
50
&& x0<
600
){M_graphics.drawLine(x0,
30
,x0,
380
);}
if
(y0 >
30
&& y0 <
380
){M_graphics.drawLine(
50
,y0,
600
,y0);}
if
(X >
50
&& X<
600
){M_graphics.drawLine(X,
30
,X,
380
);}
if
(Y >
30
&& Y<
380
){M_graphics.drawLine(
50
,Y,
600
,Y);}
MouseMove=fase;
x0=X;
//传递当前座标参数
y0=Y;
}
}
catch
(NullPointerException npe){}
//捕获可能出现的异常
}
二、布局管理器
本例中的 Java Applet 运行时,要在页面上 Java Applet
“
的运行区域内绘制相应的 标
”
“
”
“
”
签 来显示不同的数值,并要加入一个 文本框 来接收输入的股票代码。对这些 标签 和
“
”
文本框 位置及大小的设定,便属于布局管理的应用范畴。
Java 语言中提供的布局管理器种类有:边界式布局、卡片式布局、流式布局和网格式
布局等,各有不同的特点,可根据实际需要选用;
“
但有最大自由设计空间的是 无布局管
”——
理器
即不使用任何布局格式,而通过手工方式添加组件到页面布局的绝对位置上。
“
”
本例中使用的便是 无布局管理器 。
“
”
在使用 无布局管理器 时,首先要作出声明,即:
setLayout(
null
);
然后用 reshape()方法指定组件的具体位置和尺寸,
基本语句如下所示:
Label label1=
new
Label();
//定义标签
this
.add(label1);
//把标签加入布局管理器
label1.reshape(
10
,
10
,
30
,
30
);
//在指定位置绘制标签
对于多个标签和文本框,参照此格式添加即可。
三、输入、输出数据流
Java Applet 在客户端浏览器上运行时,要从服务器端读取股票的相关数据进行做图,
这就涉及到 Java 数据流的运用。
Java.io 包提供了多个用于与各种 I/O 设备交换信息的类,其最顶层的两个类便是输入
流类(InputStream)和输出流类(OutputStream)。
为了便于实现,在本例中我们先在服务器端把股票数据库(如:show128.dbf)中的有
关字段写入一文本文件中(其格式为:第一行为股票的汉字名称,以后每一行内包括:开
盘日期、开盘价、最高价、最低价、收盘价、成交量),并以该支股票的代码作为文件名(如:
600001
.txt);然后,再用 Java Applet 从服务器端的文本文件中读取数据。这样,就把对服务
器端数据库的访问转化为对文件的 I/O 操作,实现的语句如下:
URL urlc=
new
URL("
"+FileName+".txt");
BufferedReader bis=
new
BufferedReader(
new
InputStreamReader(urlc.openStream()));