package com;
import java.awt.BorderLayout;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import twaver.AlarmSeverity;
import twaver.DataBoxSelectionModel;
import twaver.Element;
import twaver.Link;
import twaver.Node;
import twaver.PopupMenuFactory;
import twaver.TDataBox;
import twaver.network.TNetwork;
import twaver.network.background.ImageBackground;
import twaver.table.TPropertySheet;
public class Exapem extends JFrame{
//创建数据箱、地图组件和属性表组件
TDataBox box = new TDataBox();
TNetwork network=new TNetwork(box);
TPropertySheet sheet=new TPropertySheet(box);
JSplitPane split=new JSplitPane();
public Exapem(){
//初始化布局管理
this.getContentPane().add(split, BorderLayout.CENTER);
split.setLeftComponent(network);
split.setDividerLocation(350);//设置分隔页面
split.setRightComponent(new JScrollPane(sheet));
this.setSize(800,800);
loadData();
}
private void loadData() {
//创建网元节点
Node node1=new Node();
node1.setName("one");
node1.setLocation(100,100);
box.addElement(node1);
Node node2=new Node();
node2.setName("two");
node2.setLocation(200,200);
box.addElement(node2);
//添加一个Critical新发告警
Node node3=new Node();
node3.setName("新告警");
node3.getAlarmState().addNewAlarm(AlarmSeverity.CRITICAL);
box.addElement(node3);
network.setNetworkBackground(new ImageBackground("/image/map.jpg"));
//加入链接
Link link=new Link(node1,node2);
link.setName("我是链路");
box.addElement(link);
//加入右键菜单
network.setPopupMenuFactory(new PopupMenuFactory(){
public JPopupMenu getPopupMenu(DataBoxSelectionModel selectionModel, Point p) {
JPopupMenu menu = new JPopupMenu();
if (selectionModel.size() == 1) {
//获得当前点击选中的网元节点
Element element = (Element) selectionModel.lastElement();
if (element instanceof Link) {
menu.add(new JMenuItem("断开连接"));
} else {
menu.add(new JMenuItem("配置网元"));
}
menu.addSeparator();
menu.add(new JMenuItem("查看告警"));
return menu;
}
return null;
}
});
}
public static void main(String[] args){
Exapem ss=new Exapem();
ss.show();
}
}
分享到:
相关推荐
TWaver是基于WebGL3D一个框架,可以使用其框架进行web3d的开发,这里贴上官方的一个小案例,可以参照使用。
Twaver是一套基于swing/awt的作图工具,功能强大响应速度快,可是由于要付费的原因造成了很少有人使用,自然的API 就更少了,再此上传一个供大家参谋
TWaver是美国Serva Software公司的产品,是应用最为广泛的电信专业图形界面开发工具包,在电信行业应用非常广泛。TWaver关注于数据的图形展示,它是面向开发人员的,需要进行二次开发。 TWaver的图形组件库中提供了...
twaver示例可直接放到jetty下运行,含twaver.js alarm.html资源。
TWaver-flex的库TWaver.swc
twaver jar在TWaver传统的2D应用中,近一年非常突出地出现了一种需求,那就是希望能够在同一个页面内显示多种层次的网络结构
twaver for flex 开发手册
twaver-java-3.7 文档
最新的TWaver可视化学习开发包,用TWaver做出更炫更美的界面。
Twaver学习案例的例子
twaver web结合extjs源码学习资料
Twaver java开发帮助文档,英文版的。
TWaver-java的库TWaver.jar
twaver-flex-3.6.5 官方demo
Twaver java 最新版本开发指导
Twaver java在不同节点和连接情况下的性能测试代码和测试报告
TWaver HTML5 Developer Guide, 官方的开发指南。
twaver-html5-5.9.0-api
TWAVER FLEX 使用手册 用户画拓扑图