文章背景:
使用Java Applet技术开发小应用程序,并最终将其部署到网页上,使其能够实现从数据库中读取节点、链路数据,并根据数据绘制拓扑图的功能。绘制图像的过程应用jgraph开源软件实现。
技术要点:
1、在页面上部署Java Applet应用程序,并调用jgraph.jar包
|
<applet archive="AppletDemo.jar,jgraph.jar" code="org/nlsde/draw/applet/AppletDemo.class" codebase="./" width="660" height="560"></applet>
|
在此将网页文件和AppletDemo.jar放在同一个目录下,由于需要引用第三方的jgraph.jar包,因此在archive属性中一并写上jgraph.jar
2、Java Applet应用程序访问数据库
由于Java Applet应用程序本身的策略限制,在默认情况下应用程序只能以http协议访问运行此Java Applet应用程序的主机;而修改策略,需要加入数字签名,并且浏览器会提示安全问题。因此在本次开发中,使用Java Applet访问Servlet的流行方法来解决读取数据库的问题。
Java Applet应用程序和Servlet进行交互,可以直接在两者间传递支持序列化的对象(Serializable)。在Servlet端,只需要响应doGet事件,并将处理结果以ObjectStream的形式返回即可:
|
DefaultGraphCell[] alCells = org.nlsde.draw.data.CellHandler.getAllCells();
ObjectOutputStream out = new ObjectOutputStream(response
.getOutputStream());
out.writeObject(alCells);
|
在Java Applet端,发起数据请求和接受结果如下:
|
URL url = new URL(getCodeBase() + "/servlet/GetAllCells");
URLConnection urlConn = url.openConnection();
InputStream in = urlConn.getInputStream();
ObjectInputStream result = new ObjectInputStream(in);
Object obj = result.readObject();
DefaultGraphCell[] alCell = (DefaultGraphCell[]) obj;
|
(和数据库交互的部分,被封装到另外的类CellHandler中。)
3、利用jgraph绘制拓扑图的过程
在jgraph中,存在顶点(vertice)、连线(edge)、端口(port)的概念,他们的关系如下:
顶点、连线、端口都被认为是GraphCell,只不过连线和端口有自己独特的属性。
利用jgraph绘图的流程如下:
创建顶点集合,并指定各个顶点的属性
|
<
|

本文介绍了如何使用Java Applet绘制拓扑图,重点在于Applet与Servlet交互实现数据访问,以及利用jgraph库创建顶点、连线和端口。在Servlet端响应GET请求,Applet端通过ObjectStream接收数据。数据库交互部分被封装,图片资源需按Java规范打包在Applet应用中。此外,详细讲解了设置顶点图标、连接规则以及数据库连接字符串的处理方式。
最低0.47元/天 解锁文章
2438

被折叠的 条评论
为什么被折叠?



