iTopoview Java 网络拓扑图组件 用户手册

上传人:无*** 文档编号:44535620 上传时间:2021-12-05 格式:DOC 页数:26 大小:635.51KB
收藏 版权申诉 举报 下载
iTopoview Java 网络拓扑图组件 用户手册_第1页
第1页 / 共26页
iTopoview Java 网络拓扑图组件 用户手册_第2页
第2页 / 共26页
iTopoview Java 网络拓扑图组件 用户手册_第3页
第3页 / 共26页
资源描述:

《iTopoview Java 网络拓扑图组件 用户手册》由会员分享,可在线阅读,更多相关《iTopoview Java 网络拓扑图组件 用户手册(26页珍藏版)》请在装配图网上搜索。

1、26iTopoview标准版 网络拓扑图软件 V2010.10.26蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄

2、膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿

3、肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃

4、芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇

5、聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁

6、莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈

7、膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃

8、肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇

9、艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆肃莆蚀羈袆节虿蚈膂膈芅螀羅肄芄袃膀莂芃薂羃芈芃蚅膈膄莂螇羁肀莁衿螄葿莀虿罿莅荿螁袂芁莈袄肈膇莈薃袀肃莇蚆肆莁蒆螈衿芇蒅袀肄膃蒄薀袇聿蒃螂肃肅蒂袄羅莄蒂薄膁芀蒁蚆羄膆蒀蝿腿肂蕿袁羂莁薈薁螅芇薇蚃羀膃薆袅螃腿薆薅聿肅薅蚇袁莃薄螀肇艿薃袂袀膅蚂薂肅肁蚁蚄袈莀蚀螆 iTopoview 标准版 用户手册版本:V2010.10.26全系列产品SugarNMS 网络监控软件SugarNMS二次开发平台iTopoview 网络拓扑图组件ObjectSNMP SNMP网关组件OEM、ODM定制开发服务目 录一、iTopoView介绍21.示例程序概貌32.功能33.特点4二、iTo

10、poview API概要4三、开发入门7四、开始构造应用程序15五、API介绍使用拓扑数据161.TopoObject的属性和方法172.节点的属性和方法183.网络的属性和方法184.链接的属性和方法19六、API介绍使用告警191.TopoSysConfig中告警定义192.TopoObject的告警操作203.网络的告警操作21七、API介绍使用数据源容器21八、API介绍使用显示组件231.拓扑视图的属性/方法232.树形视图的属性/方法25九、API介绍添加事件处理25一、 iTopoView介绍iTopoview是专门面向网络拓扑图领域的界面组件,基于标准版Java(J2SE) S

11、wing和Java2D图形技术,可在Web applet或GUI应用程序中使用。开发人员无需了解任何图形技术,通过简单的数据驱动方式,即可创建出专业高效的网络拓扑图界面,并且集成了菜单、鼠标、用户业务数据、告警等操作,使用iTopoview可以将网络拓扑图开发的工作量从传统的数个人.月缩减到一个星期左右,让开发人员将重点迅速焦距至客户业务。iTopoview提供了一个完整的拓扑图示例程序和代码,大多数网络拓扑图界面可以直接利用。1. 示例程序概貌2. 功能1. 图形组件提供拓扑视图和树形视图两种显示组件;拓扑视图提供了网络拓扑图显示、拖拽、放大、缩小、导航、菜单等操作;树形视图与拓扑视图自动保

12、持显示同步。2. 拓扑数据元素定义了网络、节点、链接、告警等拓扑数据;拓扑数据可以绑定任意用户业务数据;通过设置拓扑数据的属性自动改变图形显示。3. 数据源容器数据源容器提供了访问、修改拓扑数据的统一接口;数据源容器可以设置网络、链接、节点之间的逻辑关系;支持多层次的网络结构。4. 交互处理在拓扑视图上提供了各种节点、网络、链接的标准Java菜单和鼠标交互接口;可以根据不同的拓扑数据使用不同的菜单和事件。5. 告警处理拓扑数据上可以直接管理告警;可以绑定任意用户告警数据;告警发生变化后,拓扑图上颜色自动改变,并且自动追溯到上级;预定义紧急、主要、次要、警告、未确定、消息通知、清除 等不同级别的

13、告警以及颜色。6. 拓扑图示例程序拓扑图示例程序演示了iTopoview最佳开发实践,帮助开发人员快速理解iTopoview功能;开发人员对照示例附带的源代码,可以即刻上手开发自己的拓扑图程序。3. 特点1. 专门针对网络拓扑图和网管监控设计,自动处理大部分常用操作。2. 基于模型-视图-控制器(MVC)架构设计,可以多个视图显示同一数据源。3. 图形处理全部由数据驱动,用户无需涉及任何图形技术和界面技术。4. 面向大众用户的API设计,可快速学习和掌握,轻松开发网络拓扑图。5. 标准Java Swing技术,无需其他脚本、动画技术,可以嵌入任意Java客户端或Web拓扑图中。6. 100%

14、Java实现,保持与现有Java系统无缝连接,为单一Java技术团队提供最佳选择。7. 可以与ObjectSNMP后端提供的网络、设备、资源、网口、服务等自动发现功能完美结合。8. 多线程双缓冲图形引擎技术,确保最优的图形性能和内存使用。二、 iTopoview API概要API对象的描述:分类JAVA对象名称备注显示组件TopoGraphView拓扑视图从javax.swing.JPanel继承过来,是 iTopoview最重要的组件。拓扑视图的数据来源是TopoDataSource,能自动感应TopoDataSource的数据变化。可以显示各种网络、节点、链接等,并且支持拖放、放大、缩小、

15、导航、菜单、鼠标事件等。TopoTreeView树形视图从javax.swing.JTree继承过来,按照网络层次结构显示TopoDataSource中的数据,并能自动保持与拓扑视图的一致性。鼠标右键菜单处理与TopoGraphView的右键菜单共享。数据源容器TopoDataSource数据源数据源是所有拓扑数据的集合。它提供了查看、修改、监视数据的功能。作为MVC的模型部分,多个不同的视图可以共享此数据源。数据元素TopoObject拓扑数据基类所有网络、节点、链接的抽象基类。提供了一致的绑定用户数据、用户告警的方法。TopoNode节点数据从TopoObject继承而来。定义了节点的各种

16、属性和行为。TopoNetwork网络数据从TopoNode继承而来。定义了网络的各种属性和行为。网络可以再容纳网络、节点和链接。TopoLink链接数据从TopoObject继承而来。定义了链接的各种属性和行为。可以连接节点-节点、节点-网络、网络-网络。事件处理接口TopoMouseHandle拓扑图事件处理接口拓扑视图的事件处理接口。开发者要实现此接口来响应菜单、鼠标事件。TopoGraphView在事件发生时调用此接口。系统配置TopoSysConfig系统参数配置定义告警级别、颜色。iTopoview的API整体架构如下图所示:三、 开发入门开发环境准备工作:iTopoview 基于

17、JAVA平台,需要JDK/JRE 1.6或以上版本,请确保已经正确的安装了JDK/JRE环境。需要将zhtelecombasis.jar加入到开发环境的ClassPath中。使用拓扑图组件的一般过程如下: 定义TopoLink、TopoNode、TopoNetwork数据元素,把数据加入到TopoDataSource中。 通过TopoDataSource创建TopoGraphView、TopoTreeView显示组件。 在TopoGraphView上设置TopoMouseHandle事件处理。 把TopoGraphView、TopoTreeView加入到JAVA Swing界面中。对于上述过程

18、可以任意组合,如:先创建TopoGraphView、TopoTreeView显示组件,然后再向TopoDataSource中添加数据元素也可以。HelloWorld示例程序用于演示上述过程,快速了解iTopoview开发。HelloWorld的效果如下图:运行HelloWorld示例程序:java -classpath zhtelecombasis.jar mon.topograph.example.HelloWorld或者自行编译运行SRC目录下的comzhtelecomcommontopographexampleHelloWorld.java下面将通过如下8个步骤来演示HelloWorld

19、: 第1步:创建Java Swing主窗体代码如下: JFrame frame = new JFrame(网络拓扑图HelloWorld); frame.setSize(600, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);效果图如下: 第2步:创建空的拓扑图显示组件代码如下:TopoGraphView topoView = new TopoGraphView(new TopoDataSource(); frame.getContentPane().add(topoView, BorderLayout.CENTER);

20、效果图如下: 第3步:创建网络代码如下: opoNetwork net = new TopoNetwork(网络1); /定义网络 TopoDataSource source = topoView.getTopoDataSource(); /获取数据源 source.addTopoData(net); /把网络1加入到根视图下 效果图如下: 第4步:创建网络下的设备代码如下: TopoNode nodePC = new TopoNode(PC); /定义PC设备 TopoNode nodeGW = new TopoNode(网关); /定义家庭网关设备 nodeGW.setXY(300, 96

21、); / 设置x y坐标 nodeGW.setImageIconFromTopoFile(dm.png); /设置图片 source.addTopoData(nodePC, net); /把PC加入到网络1中 source.addTopoData(nodeGW, net); /把网关加入到网络1中 效果图如下: 第5步:创建网络设备之间的链接代码如下: TopoLink linkPCGW = new TopoLink(100M, nodePC, nodeGW); /通过起点终点,创建链接 source.addTopoData(linkPCGW, net); /把连接加入到网络1中 效果图如下:

22、 第6步:添加故障信息代码如下: nodePC.addAlarm(alarm1, TopoSysConfig.AlarmSeverity_Critical); /添加紧急告警 linkPCGW.addAlarm(alarm2, TopoSysConfig.AlarmSeverity_Major); /添加主要告警 效果图如下: 第7步:创建树形显示组件代码如下: TopoTreeView tree = new TopoTreeView(topoView.getTopoDataSource(); /根据数据源创建树 tree.setBorder(BorderFactory.createEtche

23、dBorder(Color.white, new Color(148, 145, 140); tree.syncTopoview(topoView); /将树与拓扑图的选择事件同步起来 frame.getContentPane().add(tree, BorderLayout.WEST); 效果图如下: 第8步:设置菜单、鼠标 事件处理程序代码如下: /实现事件处理接口class HelloMouseAction implements TopoMouseHandle /在拓扑图对象上面点击右键的菜单 public JPopupMenu createRightClickMenu(TopoGrap

24、hView topoView) JPopupMenu menu = new JPopupMenu(); menu.add(右键对象: + topoView.getSelectedObject(); return menu; /在拓扑图空白区域点击右键的菜单 public JPopupMenu createRightClickBlankMenu(TopoGraphView topoView) JPopupMenu menu = new JPopupMenu(); menu.add(右键空白区域,当前网络: + topoView.getCurrentNetwork(); return menu;

25、/双击事件 public void doubleClickAction(TopoGraphView topoView) JOptionPane.showMessageDialog(topoView, 对象: + topoView.getSelectedObject(), 双击操作,JOptionPane.INFORMATION_MESSAGE); HelloMouseAction menuHandle = new HelloMouseAction(); /定义事件处理程序topoView.setMouseHandle(menuHandle); /给拓扑视图设置处理程序 效果图如下:完整的Hel

26、loWorld的程序代码如下:public class HelloWorld public static void main(String args) /.步骤1,普通java swing操作,创建主窗口. JFrame frame = new JFrame(网络拓扑图HelloWorld); frame.setSize(600, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /.步骤2,创建空的拓扑图显示组件. TopoGraphView topoView = new TopoGraphView(new TopoDat

27、aSource(); /通过数据源创建拓扑视图 frame.getContentPane().add(topoView, BorderLayout.CENTER); /.步骤3,创建网络. TopoNetwork net = new TopoNetwork(网络1); /定义网络 TopoDataSource source = topoView.getTopoDataSource(); /获取数据源 source.addTopoData(net); /把网络1加入到根视图下 /.步骤4,创建网络设备. TopoNode nodePC = new TopoNode(PC); /定义PC设备 To

28、poNode nodeGW = new TopoNode(网关); /定义家庭网关设备 nodeGW.setXY(300, 96); / 设置x y坐标 nodeGW.setImageIconFromTopoFile(dm.png); /设置图片 source.addTopoData(nodePC, net); /把PC加入到网络1中 source.addTopoData(nodeGW, net); /把网关加入到网络1中 /.步骤5,创建网络设备之间的链接. TopoLink linkPCGW = new TopoLink(100M, nodePC, nodeGW); /通过起点终点,创建链

29、接 source.addTopoData(linkPCGW, net); /把连接加入到网络1中 /.步骤6,添加故障信息. nodePC.addAlarm(alarm1, TopoSysConfig.AlarmSeverity_Critical); /添加紧急告警 linkPCGW.addAlarm(alarm2, TopoSysConfig.AlarmSeverity_Major); /添加主要告警 /.步骤7,创建树形显示组件. TopoTreeView tree = new TopoTreeView(topoView.getTopoDataSource(); /根据数据源创建树 tre

30、e.setBorder(BorderFactory.createEtchedBorder(Color.white, new Color(148, 145, 140); tree.syncTopoview(topoView); /将树与拓扑图的选择事件同步起来 frame.getContentPane().add(tree, BorderLayout.WEST); /.步骤8,设置菜单、鼠标 事件处理程序. HelloMouseAction menuHandle = new HelloMouseAction(); /定义事件处理程序 topoView.setMouseHandle(menuHan

31、dle); /给拓扑视图设置处理程序 frame.setVisible(true); /实现事件处理接口class HelloMouseAction implements TopoMouseHandle /在拓扑图对象上面点击右键的菜单 public JPopupMenu createRightClickMenu(TopoGraphView topoView) JPopupMenu menu = new JPopupMenu(); menu.add(右键对象: + topoView.getSelectedObject(); return menu; /在拓扑图空白区域点击右键的菜单 publi

32、c JPopupMenu createRightClickBlankMenu(TopoGraphView topoView) JPopupMenu menu = new JPopupMenu(); menu.add(右键空白区域,当前网络: + topoView.getCurrentNetwork(); return menu; /双击事件 public void doubleClickAction(TopoGraphView topoView) JOptionPane.showMessageDialog(topoView, 对象: + topoView.getSelectedObject()

33、, 双击操作, JOptionPane.INFORMATION_MESSAGE); 四、 开始构造应用程序系统提供了完整拓扑图设计工具NMSExample示例程序,它模拟了Visio画图工具和网管软件拓扑图的常用功能,大多数软件可以直接参考使用。用户可以直接从NMSExample开始构造自己的应用程序。运行NMSExample示例程序:java -jar zhtelecombasis.jar 或自行编译运行SRC目录下的pubnmscommontopographexampleNMSExample.javaNMSExample示例程序的源代码文件简要说明如下:文件(位于example包下)说明N

34、MSExample.java生成示例拓扑图的主界面和拓扑数据显示TopoMouseAction.java定义拓扑图上的菜单、鼠标操作。具体的菜单处理程序见下面:ActionAddAlarm.java菜单处理:添加告警ActionAlarmBatchTest.java菜单处理:批量告警测试ActionAlarmDel.java菜单处理:清除告警ActionAlarmView.java菜单处理:显示告警ActionBatchAddTest.java菜单处理:拓扑图批量添加ActionLinkUpdate.java菜单处理:改变Link风格ActionNetworkAdd.java菜单处理:添加网络

35、ActionNetworkNodeLinkDel.java菜单处理:删除网络对象ActionNodeAdd.java菜单处理:添加节点ActionNodeImageUpdate菜单处理:修改显示图片ActionPrintXY.java菜单处理:打印所有节点坐标ActionSetLinkEnd.java菜单处理:设置连接终点ActionSetLinkStart.java菜单处理:设置连接起点ActionUpdateUserID.java菜单处理:修改用户ID对象五、 API介绍使用拓扑数据ZhTelecom iTopoview定义了如下几种拓扑数据:节点:拓扑图上的一个网络实体,可以用来表示设备

36、、服务器、应用程序等。节点可以定义自己的图标。网络:可以在一个新的视图中显示下属对象。可以用网络表示实际的子网、组、区域等概念。在拓扑图上双击网络的时候,自动展开显示下属对象。网络可以定义自己的图标。链接:用于表示节点与节点、节点与网络、网络与网络之间的连接关系实体。链接可以设置各种显示风格。节点、网络、链接之间的容纳示例图如下:rootnetwork1node1link1node2link2network2根节点第一级第二级最顶层的是根节点,根结点下面可以容纳任意的数据。根节点下的网络可以再容纳任意的数据,依次类推。此图中network1的上级是root;network2、node2、lin

37、k2的上级是network1。1. TopoObject的属性和方法所有的拓扑数据有一些共用的属性和行为,在TopoObject中定义,它们是:名称属性/方法描述用户IDuserID每个拓扑数据都绑定一个用户业务数据,称之为用户ID,用户ID是区分不同数据元素的标识符,在数据源容器中用户ID将保持唯一性。以后可以通过用户ID找到对应的拓扑数据。用户ID可以是任意的Java对象。拓扑数据的toString()、hashCode()、equals(Object obj)方法,完全来自用户ID的对应方法。用户ID需要根据实际情况,实现这三个方法。视图上显示的拓扑数据名称,来自TopoObject的t

38、oString()方法。用户ID需要有自己的key信息,来实现equals(Object obj)语义。在使用过程中,有时候可能只知道用户ID的key信息,这样通过key信息,就能重新找到拓扑数据。一般来说,用户ID对象来自用户数据库、后端系统。通过用户ID,提供了将拓扑数据与用户的数据系统关联起来的途径。用户属性userProperty有时候需要在拓扑数据中,放置用户的其他信息,用户属性就提供了这样的方便性。用户属性可以为任意Java对象。颜色color发生告警的时候,系统会自动调用set方法设置相应的颜色。提供set方法,用于特殊情况下手工设置颜色。上级网络parent没有上级网络或者上级

39、网络是根节点时候,用null表示。拓扑数据在加入到数据源之前没有上级网络,加入到数据源后,由数据源管理上下级关系,用户无法set父对象。拓扑数据从数据源删除后,从此数据任然可以访问到上级,但从上级网络无法再访问此数据。改变通知fireChanged()拓扑数据属性改变后,数据源能自动监视此变化,自动触发视图的更新,无需外部再调用此方法。但是,用户ID的toString()结果变化后,无法自动发现,需要调用此方法来通知视图更新。2. 节点的属性和方法名称属性/方法描述创建节点new TopoNode(Object userID)通过绑定用户ID创建一个节点数据。X、Y坐标XX、Y坐标标识节点在拓

40、扑视图上的坐标位置。X、Y坐标决定节点之间的布局关系。Y图标ImageIcon对象视图上用此图标来显示节点数据。系统内置了一些常用图标,通过setImageIconFromTopoFile(String imageFileName)来设置内置图标;其中imageFileName 是jar包中不含目录的图标文件名;setImageIconFromTopoFile方法在内部通过调用setImageIcon更一般的方法来实现。如果要使用外部的图标,调用setImageIcon(ImageIcon imageIcon)方法来设置。3. 网络的属性和方法网络从节点继承而来,额外还有如下属性/方法:名称属

41、性/方法描述创建网络new TopoNetwork(Object userID)通过绑定用户ID创建一个网络数据。获取下属getChildren()获取网络的直接下属列表。不含间接下属。获取下属中的链接getChildrenLink()获取直接下属中的链接列表。获取下属中的节点、网络getChildrenNode()获取直接下属中的节点和网络列表。4. 链接的属性和方法名称属性/方法描述创建链接new TopoLink(Object linkID, TopoNode source, TopoNode target)通过绑定用户ID、连接起点、终端创建一个链接数据。源节点/网络source连接的

42、起点。目标节点/网络target链接的终点。修改链接显示风格setBrokenLink(boolean isBrokenLink)设置是否虚线还是实线setLinkWidth(int width)设置链接的宽度,取值范围1-5setShowArrow(boolean isShowArrow)设置是否需要链接箭头setStraight(boolean straight)设置直线连接还是转折线连接六、 API介绍使用告警1. TopoSysConfig中告警定义系统参照OSI告警标准规范。在TopoSysConfig中定义了如下告警级别、颜色以及级别定义。数值越大,级别越高。级别名称级别默认颜色含

43、义说明紧急告警(Critical)7使业务中断并需要立即采取故障检修的告警。主要告警 (Major)6影响业务并需要立即采取故障检修的告警。次要告警 (Minor)5不影响现有业务,但需采取检修阻止恶化的告警。警告告警 (Warning)4不影响现有业务,但有可能成为影响业务的告警,可视需要采取措施。未知告警 (Indeterminate)3未知原因的告警,未知状态。需要进一步检查。消息通知(Msg)2普通消息通知。不是一个告警。没有颜色。清除告警(Good_Clear)1告警已清除,工作已正常的通知。绿色。空状态(Null_Status)0设备初始时的状态,没有颜色。默认告警颜色定义如下,可

44、根据需要修改。public static Color AlarmSeverity_Null_Status_Color=null; public static Color AlarmSeverity_Good_Clear_Color=Color.GREEN; public static Color AlarmSeverity_Normal_Msg_Color=Color.CYAN; public static Color AlarmSeverity_Indeterminate_Color=new Color(205,155,255); public static Color AlarmSever

45、ity_Warning_Color=Color.BLUE; public static Color AlarmSeverity_Minor_Color=Color.YELLOW; public static Color AlarmSeverity_Major_Color=new Color(255,150,0);public static Color AlarmSeverity_Critical_Color=Color.RED;在拓扑数据中,定义了一个Hash表,用来存放跟拓扑数据相关的告警。Hash表的Key值是用户定义的告警对象,Value值是告警级别对应的Integer对象。用户告警对象

46、需要按照实际情况,有自己的key信息,来实现equals(Object obj)语义,以区分不同的告警对象。2. TopoObject的告警操作名称属性/方法描述添加告警addAlarm(Object userAlarm, int severity)添加和本拓扑数据相关的告警消息。自动触发告警颜色变化。userAlarm-用户告警对象,severity-告警级别。删除告警removeAlarm(Object userAlarm)删除和本拓扑数据相关的一个告警 。自动触发告警颜色变化。userAlarm-要删除的告警对象(只需要key信息即可)。清空告警cleareAlarm()清空和本拓扑数据

47、相关的所有告警。会清除颜色。获取全部告警getAllAlarms()对节点和链接来说,是获取自身的全部告警;对网络来说,是获取本网络和所有下属(含间接下属)的全部告警;返回Hash表。获取全部告警级别getAllAlarmSeverity()对节点和链接来说,是获取自身的全部告警级别;对网络来说,是获取本网络和所有下属的全部告警中存在的告警级别。返回告警级别的HashSet列表。获取最高告警级别int getAllAlarmHighestSeverity()对节点和链接来说,是获取自身的最高告警级别;对网络来说,是获取本网络和所有下属中的最高告警级别。获取特定级别的告警对象List getAl

48、lAlarms(int severity)对节点和链接来说,是获取自身的特定级别的用户告警对象列表;对网络来说,是获取本网络和所有下属中特定级别的用户告警对象列表。3. 网络的告警操作对于网络,除了上述方法外,又提供了额外的告警查询方法:名称属性/方法描述获取网络自身的告警getThisNetworkAlarms()只获取网络本身,不含下属的告警。返回Hash表。只获取下属的告警getAllChildAlarms()仅获取所有下属的告警,不含本网络。返回Hash表。七、 API介绍使用数据源容器在拓扑图组件中,所有的拓扑数据都是通过数据源容器来管理和容纳。当数据源中的数据发生变化后,比如:添加

49、、参数、修改 等,数据源会自动通知所有的视图以更新数据。数据源设计为一个轻量级的管理容器,可以很容易的将拓扑数据的管理与用户系统的数据管理连接起来。数据源提供的方法如下表:名称函数名描述创建数据源new TopoDataSource()初始化数据源,没有任何数据。数据源的顶级为根结点。添加拓扑数据addTopoData(TopoObject object)把拓扑数据加入到根节点下。此数据的上级是根节点(null)addTopoData(TopoObject object, TopoNetwork parent)把拓扑数据添加到parent下。parent对象将成为此对象的上级。注意:上级对象需

50、要预先加入到数据源中。删除拓扑数据removeTopoData(TopoObject topoData)拓扑数据从数据源删除后,从此数据任然可以访问到上级,但从上级网络无法再访问此数据。获取绑定用户ID的数据getTopoObject(Object userID)根据用户ID(只需要有Key信息,能进行equals比较就可以),查询数据源中和它绑定的拓扑数据。根据用户ID删除拓扑数据removeTopoDataByUserID(Object userID)删除绑定此用户ID的拓扑数据。用户ID仅需要提供key信息即可。清空数据源clearAllData()删除所有的数据获取根节点直接下属get

51、RootTopoObject()获取根节点下的第一级拓扑数据(网络、链接、节点)的集合。也就是获取上级为根节点的数据。获取根节点直接下属中的节点和网络。getRootTopoNode()注:网络继承于节点。获取全部的拓扑数据getAllTopoObject()获取数据源所有的数据集合。包含网络、节点、链接获取所有的节点和网络数据getAllTopoNode()获取所有的链接数据getAllTopoLink()获取所有的告警对象getAllAlarm()获取全部拓扑数据中的全部告警集合。返回Hash表。key是用户告警对象,value是告警级别。获取告警对象getAlarm(Object ala

52、rm)根据用户的告警对象(仅包含key信息),获取在数据源中与此key相等的完整告警对象。获取跟节点、网络相关的链接getLink(TopoNode node)获取所有起点或终点是此对象的所有链接集合。八、 API介绍使用显示组件拓扑视图从上到下共分为工具栏、拓扑图、状态栏 3个区域。工具栏上的按钮:放大拓扑图区域 :缩小拓扑图区域:还原拓扑图区域:转到上级网络视图:转到根节点视图1. 拓扑视图的属性/方法拓扑图区域是拓扑视图的核心部分。工具栏和状态栏可以从拓扑视图中删除。拓扑视图提供的方法如下:名称函数名描述创建拓扑视图new TopoGraphView(TopoDataSource sou

53、rce) 拓扑视图作为MVC模型中的view部分,创建拓扑视图的时候,需要赋予一个数据源。可以创建多个拓扑视图,共享同一个数据源。获取数据源getTopoDataSource()获取关联的数据源。获取拓扑视图上被选择的单个拓扑数据getSelectedObject()获取当前拓扑图上已选择的数据对象(网络、节点、链接的一种)获取拓扑视图上被选择的多个数据getSelectedObjects()返回拓扑数据列表。获取被选择的节点、网络getSelectedNode()获取当前拓扑图上已被用户选择的网络或节点获取被选择的节网络getSelectedNetwork()获取当前拓扑图上已被用户选择的网

54、络获取被选择的链接getSelectedLink()获取当前拓扑图上已被用户选择的链接设置被选择数据setSelection(TopoObject topoObj)用户鼠标点击拓扑数据,会自动选择被点击数据。此方法提供了手工改变选择对象的途径。设置要显示的当前网络setCurrentNetwork(TopoNetwork network)拓扑视图将展开网络,只显示网络下的拓扑数据。网络= =null 表示根节点。注:系统提供了自动展开、收起网络的机制。获取当前显示的网络TopoNetwork getCurrentNetwork()获取当前拓扑图实例getContextGraphView()st

55、atic方法,获取系统当前的拓扑图。为快速访问只有一个实例的拓扑视图提供了便捷。如果当前进程有多个拓扑图实例,getContextGraphView()指向最后一个实例。还原拓扑图zoom()拓扑图工具栏默认支持方法放大拓扑图zoomIn()拓扑图工具栏默认支持方法缩小拓扑图zoomOut()拓扑图工具栏默认支持方法转到上一级拓扑图toUpView()拓扑图工具栏默认支持方法转到根节点试图toHomeView()拓扑图工具栏默认支持方法设置临时的起点标识setLinkSource(TopoNode linkSource)系统提供了两个临时的标识,为用户在创建链接的时候,临时记录链接起点、终点信

56、息提供了方便。获取起点标识getLinkSource ()设置临时的终点标识setLinkTarget(TopoNode linkTarget)获取终点标识getLinkTarget()清除临时标识clearLinkMarked()设置鼠标事件处理程序setMouseHandle(TopoMouseHandle handle)参见“事件处理”内容。2. 树形视图的属性/方法树形显示视图从java.swing.JTree继承而来。名称函数名描述创建树形视图new TopoTreeView(TopoDataSource source)形视图作为MVC模型中的view部分,创建树形视图的时候,需要赋

57、予一个数据源。可以创建多个树形视图,共享同一个数据源。获取数据源getTopoDataSource()与拓扑视图同步syncTopoview(TopoGraphView topoView)设置树与拓扑图关联。设置好关联后,当选择树的时候,把树的选择对象与拓扑图选择对象同步。拓扑数据装换成TreePathTreePath topoObjToParentTreePath(TopoObject topoObj)Static方法。把拓扑数据转换成TreePath对象,只含父对象,不包含本对象。TreePath topoObjToTreePath(TopoObject topoObj)Static方法。把拓扑对象转换成TreePath对象。包含父对象和本对象。公共常量。根节点的显示名称。public static final String topoTreeRootObject = 全 网 树形视图的其他属性行为,请参见JTree。九、 API介绍添加事件处理系统定义了TopoMouseHandle事件处理接口,接口定义如下:名称函数名描述拓扑数据右键菜单JPopupMenu createRightClickMenu(TopoGraphView topoVie

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!