?? helloworld.java
字號:
package com.zhtelecom.common.topograph.example;
import javax.swing.*;
import com.zhtelecom.common.topograph.*;
/**
*
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: www.zhtelecom.com Copyright (c) 2007</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class HelloWorld
{
public static void main(String[] args)
{
//......步驟1,創建顯示組件......
TopoGraphView topoView = new TopoGraphView(new TopoDataSource()); //通過數據源創建拓撲視圖
TopoTreeView tree = new TopoTreeView(topoView.getTopoDataSource()); //根據數據源創建樹
tree.syncTopoview(topoView); //將樹與拓撲圖的選擇事件同步起來
//......步驟2,設置菜單、鼠標 事件處理程序......
HelloMouseAction menuHandle = new HelloMouseAction(); //定義事件處理程序
topoView.setMouseHandle(menuHandle); //給拓撲視圖設置處理程序
//......步驟3,普通java swing操作,把拓撲視圖、樹形視圖添加到界面上......
JFrame frame = new JFrame("HelloWorld");
JScrollPane graphPane = new JScrollPane(topoView);
JScrollPane treePane = new JScrollPane(tree);
JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treePane, graphPane);
pane.setDividerLocation(200);
frame.setContentPane(pane);
frame.setSize(600, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
//......步驟4,定義數據元素......
TopoNetwork net = new TopoNetwork("網絡1"); //定義網絡
TopoNode nodePC = new TopoNode("PC"); //定義PC設備
TopoNode nodeGW = new TopoNode("家庭網關"); //定義家庭網關設備
nodeGW.setXY(300, 98); // 設置x y坐標
nodeGW.setImageIconFromTopoFile("dm.png"); //設置圖片
TopoLink linkPCGW = new TopoLink("100M", nodePC, nodeGW); //通過起點終點,創建鏈接
nodePC.addAlarm("alarm1", TopoSysConfig.AlarmSeverity_Critical); //添加緊急告警
linkPCGW.addAlarm("alarm2", TopoSysConfig.AlarmSeverity_Major); //添加主要告警
//......步驟5,將數據添加到數據源......
TopoDataSource source = topoView.getTopoDataSource(); //獲取數據源
source.addTopoData(net); //把網絡1加入到根視圖下
source.addTopoData(nodePC, net); //把PC加入到網絡1中
source.addTopoData(nodeGW, net); //把網關加入到網絡1中
source.addTopoData(linkPCGW, net); //把連接加入到網絡1中
}
}
//實現事件處理接口
class HelloMouseAction implements TopoMouseHandle
{
//在拓撲圖對象上面點擊右鍵的菜單
public JPopupMenu createRightClickMenu(TopoGraphView 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;
}
//雙擊事件
public void doubleClickAction(TopoGraphView topoView)
{
JOptionPane.showMessageDialog(topoView, "對象:" + topoView.getSelectedObject(), "雙擊操作",
JOptionPane.INFORMATION_MESSAGE);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -