iTopoview Java 网络拓扑图组件 用户手册Word文档格式.docx
《iTopoview Java 网络拓扑图组件 用户手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《iTopoview Java 网络拓扑图组件 用户手册Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
2.节点的属性和方法18
3.网络的属性和方法18
4.链接的属性和方法19
六、API介绍——使用告警19
1.TopoSysConfig中告警定义19
2.TopoObject的告警操作20
3.网络的告警操作21
七、API介绍——使用数据源容器21
八、API介绍——使用显示组件23
1.拓扑视图的属性/方法23
2.树形视图的属性/方法25
九、API介绍——添加事件处理25
一、iTopoView介绍
iTopoview是专门面向网络拓扑图领域的界面组件,基于标准版Java(J2SE)Swing和Java2D图形技术,可在Webapplet或GUI应用程序中使用。
开发人员无需了解任何图形技术,通过简单的数据驱动方式,即可创建出专业高效的网络拓扑图界面,并且集成了菜单、鼠标、用户业务数据、告警等操作,使用iTopoview可以将网络拓扑图开发的工作量从传统的数个人.月缩减到一个星期左右,让开发人员将重点迅速焦距至客户业务。
iTopoview提供了一个完整的拓扑图示例程序和代码,大多数网络拓扑图界面可以直接利用。
1.示例程序概貌
2.功能
1.图形组件
提供拓扑视图和树形视图两种显示组件;
拓扑视图提供了网络拓扑图显示、拖拽、放大、缩小、导航、菜单等操作;
树形视图与拓扑视图自动保持显示同步。
2.拓扑数据元素
定义了网络、节点、链接、告警等拓扑数据;
拓扑数据可以绑定任意用户业务数据;
通过设置拓扑数据的属性自动改变图形显示。
3.数据源容器
数据源容器提供了访问、修改拓扑数据的统一接口;
数据源容器可以设置网络、链接、节点之间的逻辑关系;
支持多层次的网络结构。
4.交互处理
在拓扑视图上提供了各种节点、网络、链接的标准Java菜单和鼠标交互接口;
可以根据不同的拓扑数据使用不同的菜单和事件。
5.告警处理
拓扑数据上可以直接管理告警;
可以绑定任意用户告警数据;
告警发生变化后,拓扑图上颜色自动改变,并且自动追溯到上级;
预定义紧急、主要、次要、警告、未确定、消息通知、清除等不同级别的告警以及颜色。
6.拓扑图示例程序
拓扑图示例程序演示了iTopoview最佳开发实践,帮助开发人员快速理解iTopoview功能;
开发人员对照示例附带的源代码,可以即刻上手开发自己的拓扑图程序。
3.特点
1.专门针对网络拓扑图和网管监控设计,自动处理大部分常用操作。
2.基于模型-视图-控制器(MVC)架构设计,可以多个视图显示同一数据源。
3.图形处理全部由数据驱动,用户无需涉及任何图形技术和界面技术。
4.面向大众用户的API设计,可快速学习和掌握,轻松开发网络拓扑图。
5.标准JavaSwing技术,无需其他脚本、动画技术,可以嵌入任意Java客户端或Web拓扑图中。
6.100%Java实现,保持与现有Java系统无缝连接,为单一Java技术团队提供最佳选择。
7.可以与ObjectSNMP后端提供的网络、设备、资源、网口、服务等自动发现功能完美结合。
8.多线程双缓冲图形引擎技术,确保最优的图形性能和内存使用。
二、iTopoviewAPI概要
API对象的描述:
分类
JAVA对象
名称
备注
显示组件
TopoGraphView
拓扑视图
从javax.swing.JPanel继承过来,是iTopoview最重要的组件。
拓扑视图的数据来源是TopoDataSource,能自动感应TopoDataSource的数据变化。
可以显示各种网络、节点、链接等,并且支持拖放、放大、缩小、导航、菜单、鼠标事件等。
TopoTreeView
树形视图
从javax.swing.JTree继承过来,按照网络层次结构显示TopoDataSource中的数据,并能自动保持与拓扑视图的一致性。
鼠标右键菜单处理与TopoGraphView的右键菜单共享。
数据源容器
TopoDataSource
数据源
数据源是所有拓扑数据的集合。
它提供了查看、修改、监视数据的功能。
作为MVC的模型部分,多个不同的视图可以共享此数据源。
数据元素
TopoObject
拓扑数据基类
所有网络、节点、链接的抽象基类。
提供了一致的绑定用户数据、用户告警的方法。
TopoNode
节点数据
从TopoObject继承而来。
定义了节点的各种属性和行为。
TopoNetwork
网络数据
从TopoNode继承而来。
定义了网络的各种属性和行为。
网络可以再容纳网络、节点和链接。
TopoLink
链接数据
定义了链接的各种属性和行为。
可以连接节点-节点、节点-网络、网络-网络。
事件处理接口
TopoMouseHandle
拓扑图事件处理接口
拓扑视图的事件处理接口。
开发者要实现此接口来响应菜单、鼠标事件。
TopoGraphView在事件发生时调用此接口。
系统配置
TopoSysConfig
系统参数配置
定义告警级别、颜色。
iTopoview的API整体架构如下图所示:
三、开发入门
开发环境准备工作:
iTopoview基于JAVA平台,需要JDK/JRE1.6或以上版本,请确保已经正确的安装了JDK/JRE环境。
需要将zhtelecombasis.jar加入到开发环境的ClassPath中。
使用拓扑图组件的一般过程如下:
♦定义TopoLink、TopoNode、TopoNetwork数据元素,把数据加入到TopoDataSource中。
♦通过TopoDataSource创建TopoGraphView、TopoTreeView显示组件。
♦在TopoGraphView上设置TopoMouseHandle事件处理。
♦把TopoGraphView、TopoTreeView加入到JAVASwing界面中。
对于上述过程可以任意组合,如:
先创建TopoGraphView、TopoTreeView显示组件,然后再向TopoDataSource中添加数据元素也可以。
HelloWorld示例程序用于演示上述过程,快速了解iTopoview开发。
HelloWorld的效果如下图:
运行HelloWorld示例程序:
java-classpathzhtelecombasis.jarmon.topograph.example.HelloWorld
或者自行编译运行SRC目录下的com\zhtelecom\common\topograph\example\HelloWorld.java
下面将通过如下8个步骤来演示HelloWorld:
✓第1步:
创建JavaSwing主窗体
代码如下:
JFrameframe=newJFrame("
网络拓扑图HelloWorld"
);
frame.setSize(600,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
效果图如下:
✓第2步:
创建空的拓扑图显示组件
TopoGraphViewtopoView=newTopoGraphView(newTopoDataSource());
frame.getContentPane().add(topoView,BorderLayout.CENTER);
✓第3步:
创建网络
opoNetworknet=newTopoNetwork("
网络1"
//定义网络
TopoDataSourcesource=topoView.getTopoDataSource();
//获取数据源
source.addTopoData(net);
//把网络1加入到根视图下
✓第4步:
创建网络下的设备
TopoNodenodePC=newTopoNode("
PC"
//定义PC设备
TopoNodenodeGW=newTopoNode("
网关"
//定义家庭网关设备
nodeGW.setXY(300,96);
//设置xy坐标
nodeGW.setImageIconFromTopoFile("
dm.png"
//设置图片
source.addTopoData(nodePC,net);
//把PC加入到网络1中
source.addTopoData(nodeGW,net);
//把网关加入到网络1中
✓第5步:
创建网络设备之间的链接
TopoLinklinkPCGW=newTopoLink("
100M"
nodePC,nodeGW);
//通过起点终点,创建链接
source.addTopoData(linkPCGW,net);
//把连接加入到网络1中
✓第6步:
添加故障信息
nodePC.addAlarm("
alarm1"
TopoSysConfig.AlarmSeverity_Critical);
//添加紧急告警
linkPCGW.addAlarm("
alarm2"
TopoSysConfig.AlarmSeverity_Major);
//添加主要告警
✓第7步:
创建树形显示组件
TopoTreeViewtree=newTopoTreeView(topoView.getTopoDataSource());
//根据数据源创建树
tree.setBorder(BorderFactory.createEtchedBorder(Color.white,
newColor(148,145,140)));
tree.syncTopoview(topoView);
//将树与拓扑图的选择事件同步起来
frame.getContentPane().add(tree,BorderLayout.WEST);
✓第8步:
设置菜单、鼠标事件处理程序
//实现事件处理接口
classHelloMouseActionimplementsTopoMouseHandle
{
//在拓扑图对象上面点击右键的菜单
publicJPopupMenucreateRightClickMenu(TopoGraphViewtopoView)
{
JPopupMenumenu=newJPopupMenu();