2011-01-26 4 views
1

정 그래프의 레이아웃을 변경하기 위해 q 메뉴 바를 어떻게 추가 할 수 있습니까? 예 : StaticLayout, SpringLayout 등? 이jung을 사용하여 그래프의 레이아웃을 변경하는 메뉴를 추가하는 방법


Infact는 내가 이미 가지고있는 것입니다 :

내 code.Thanks에 따라 무엇을 나에게 제시하는 경우가 좋은 것, 그래서 내가 자바에 새로운 오전 죄송합니다
JFrame frame = new JFrame("JUNG2 based GraphVisualization Tool"); 
     // Create a graph 
     SparseMultigraph<MyNode, MyEdge> graph = new SparseMultigraph<MyNode, MyEdge>(); 
     // We want to give the Nodes a point where to be (for later use) 
     //Map<MyNode, Point2D> vertexLocations = new HashMap<MyNode, Point2D>(); 
     // Also we need a Layout 
     Layout<MyNode, MyEdge> layout = new StaticLayout(graph); 
     layout.setSize(new Dimension(600, 600)); 
     // VisualizationViewer to Visualize our nodes and edges 
     VisualizationViewer<MyNode, MyEdge> vv = new VisualizationViewer<MyNode, MyEdge>(layout); 
     vv.setPreferredSize(new Dimension(650, 650)); 
     // To show the vertex and EdgeLabels 
     vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller()); 
     vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller()); 
     // Our mouse should be usable in different modes 
     EditingModalGraphMouse mouse = new EditingModalGraphMouse(vv.getRenderContext(), MyNodeFactory.getInstance(), MyEdgeFactory.getInstance()); 
     // Default values for new edges 
     MyEdgeFactory.setDefaultCapacity(100.0); 
     MyEdgeFactory.setDefaultWeight(5.0); 

     // Popupmenu 
     PopupNodeEdgeMenuMousePlugin nodeEdgePlugin = new PopupNodeEdgeMenuMousePlugin(); 
     JPopupMenu nodeMenu = new MyMouseMenus.NodeMenu(); 
     JPopupMenu edgeMenu = new MyMouseMenus.EdgeMenu(frame); 
     nodeEdgePlugin.setNodePopup(nodeMenu); 
     nodeEdgePlugin.setEdgePopup(edgeMenu); 
     // The already existing popup editing plugin has to be removed 
     mouse.remove(mouse.getPopupEditingPlugin()); 
     // And the new one has to be added 
     mouse.add(nodeEdgePlugin); 
     // set up the new mouse for the VisualizationViewer 
     vv.setGraphMouse(mouse); 

     // A JFrame to show all the stuff 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setContentPane(vv); 

     // To change the mouse modes, the tutorial shows a menuBar. Think it would be nice to have a toolbar here! 
     JMenuBar menuBar = new JMenuBar(); 
     JMenu modeMenu = mouse.getModeMenu(); 
     modeMenu.setText("Mouse Mode"); 
     modeMenu.setIcon(null); 
     modeMenu.setPreferredSize(new Dimension(80,20)); 
     menuBar.add(modeMenu); 
     frame.setJMenuBar(menuBar); 
     mouse.setMode(ModalGraphMouse.Mode.EDITING); 
     frame.pack(); 
     frame.setVisible(true); 

답변

0

Jung 그래프를 가지고 있다는 사실은 실제로해야 할 일을 변경하지 않습니다. 1. JMenuBar를 만들고 메뉴에 필요한 JFrame에 연결하십시오. 2. Actions 또는 ActionListeners가 연결된 JMenuItems를 추가하십시오. 3. 그래프를 사용하여 컨테이너의 레이아웃을 변경하는 GUI에 메서드를 만듭니다. (구성 요소를 추가/제거하거나 GUI의 해당 부분을 완전히 다시 빌드해야 할 수도 있습니다). 4. ActionListener가 적절한 메소드를 호출하게하십시오.

관련 문제