當前位置: 首頁>>代碼示例>>Java>>正文


Java VisualizationViewer類代碼示例

本文整理匯總了Java中edu.uci.ics.jung.visualization.VisualizationViewer的典型用法代碼示例。如果您正苦於以下問題:Java VisualizationViewer類的具體用法?Java VisualizationViewer怎麽用?Java VisualizationViewer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


VisualizationViewer類屬於edu.uci.ics.jung.visualization包,在下文中一共展示了VisualizationViewer類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: MoveGraphNodes

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
/**
 * Instantiates a new UndoableEdit for the movements of GraphNode's.
 *
 * @param graphController the graph controller
 * @param visViewer the vis viewer
 * @param nodesMovedOldPositions the nodes moved old positions
 */
public MoveGraphNodes(GraphEnvironmentController graphController, VisualizationViewer<GraphNode,GraphEdge> visViewer, HashMap<String, Point2D> nodesMovedOldPositions) {
	
	this.graphController = graphController;
	this.visViewer = visViewer; 	
	this.nodesMovedOldPositions = nodesMovedOldPositions;
	
	// --- evaluate the current positions ---
	this.nodesMovedNewPositions = new HashMap<String, Point2D>();
	for(String nodeID : this.nodesMovedOldPositions.keySet()) {
		GraphElement graphElement = this.graphController.getNetworkModel().getGraphElement(nodeID);
		if (graphElement instanceof GraphNode) {
			GraphNode node = (GraphNode) this.graphController.getNetworkModel().getGraphElement(nodeID);
			if (node!=null) {
				Point2D point = new Point2D.Double(node.getPosition().getX(), node.getPosition().getY());
				this.nodesMovedNewPositions.put(node.getId(), point);	
			}	
		}
	}
	this.sendNodesMovedNotification();
}
 
開發者ID:EnFlexIT,項目名稱:AgentWorkbench,代碼行數:28,代碼來源:MoveGraphNodes.java

示例2: pickContainedVertices

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
@Override
protected void pickContainedVertices(VisualizationViewer<GraphNode, GraphEdge> vv, Point2D down,Point2D out, boolean clear) {
	
	super.pickContainedVertices(vv, down, out, clear);
	NetworkModelAdapter netAdapter = this.basicGraphGUI.getGraphEnvironmentController().getNetworkModelAdapter();
	
	// --- Get the selected nodes ----------------
	Set<GraphNode> nodesSelected = this.getVisViewer().getPickedVertexState().getPicked();
	// --- Get the related NetworkComponent's ---- 
	HashSet<NetworkComponent> components = netAdapter.getNetworkComponentsFullySelected(nodesSelected);
	if (components!=null) {
		// --- Run through NetworkComponents -----  
		for (NetworkComponent networkComponent : components) {
			Vector<GraphElement> elements = netAdapter.getGraphElementsFromNetworkComponent(networkComponent);
			for (GraphElement graphElement : elements) {
				if (graphElement instanceof GraphEdge) {
					this.getVisViewer().getPickedEdgeState().pick((GraphEdge) graphElement, true);
				}
			}
		}
	}
	
}
 
開發者ID:EnFlexIT,項目名稱:AgentWorkbench,代碼行數:24,代碼來源:GraphEnvironmentMousePlugin.java

示例3: handlePopup

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
/**
   * Implementation of the AbstractPopupGraphMousePlugin method. This is where the 
   * work gets done. You shouldn't have to modify unless you really want to...
   * @param me the MousEvent
   */
  protected void handlePopup(MouseEvent me) {
      
  	Point2D p = me.getPoint();
  	
VisualizationViewer<GraphNode,GraphEdge> visView = this.basicGraphGui.getVisualizationViewer();
      GraphElementAccessor<GraphNode,GraphEdge> pickSupport = visView.getPickSupport();
      if(pickSupport != null) {
          GraphNode vertex = (GraphNode) pickSupport.getVertex(visView.getGraphLayout(), p.getX(), p.getY());
          if(vertex != null) {
              //System.out.println("Vertex " + v + " was right clicked");
              this.updateVertexMenu(vertex);
              vertexPopup.show(visView, me.getX(), me.getY());
              basicGraphGui.handleObjectRightClick(vertex);
              
          } else {
              GraphEdge edge = (GraphEdge) pickSupport.getEdge(visView.getGraphLayout(), p.getX(), p.getY());
              if(edge != null) {
                  //System.out.println("Edge " + edge + " was right clicked");
              	this.updateEdgeMenu(edge);
                  edgePopup.show(visView, me.getX(), me.getY());
                  basicGraphGui.handleObjectRightClick(edge);  
              }
          }
      }
  }
 
開發者ID:EnFlexIT,項目名稱:AgentWorkbench,代碼行數:31,代碼來源:GraphEnvironmentPopupPlugin.java

示例4: zoomOneToOneMoveFocus

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
/**
 * Zoom one to one and move the focus, so that the elements as visible.
 * @param visViewer the VisualizationViewer
 */
private void zoomOneToOneMoveFocus(VisualizationViewer<GraphNode, GraphEdge> visViewer) {
	
	visViewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity();
	visViewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity();
	
	Graph<GraphNode, GraphEdge> graph = visViewer.getGraphLayout().getGraph();
	Rectangle2D graphDimension = GraphGlobals.getGraphSpreadDimension(graph);
	double moveXOnVisView = graphDimension.getX();
	double moveYOnVisView = graphDimension.getX();
	if (moveXOnVisView<=graphMargin) {
		moveXOnVisView = 0;
	} else {
		moveXOnVisView = (graphMargin-graphDimension.getX());
	}
	if (moveYOnVisView<=graphMargin) {
		moveYOnVisView = 0;
	} else {
		moveYOnVisView = (graphMargin-graphDimension.getY());
	}
	if ((moveXOnVisView!=0 || moveYOnVisView!=0)) {
		visViewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).translate(moveXOnVisView, moveYOnVisView);	
	}

}
 
開發者ID:EnFlexIT,項目名稱:AgentWorkbench,代碼行數:29,代碼來源:BasicGraphGui.java

示例5: pickContainedVertices

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
/**
 * pick the vertices inside the rectangle created from points
 * 'down' and 'out'
 */
protected void pickContainedVertices( VisualizationViewer<Room, Exit> vv, Point2D down, Point2D out, boolean clear ) {

    Layout<Room, Exit> layout = vv.getGraphLayout();
    PickedState<Room> pickedVertexState = vv.getPickedVertexState();

    Rectangle2D pickRectangle = new Rectangle2D.Double();
    pickRectangle.setFrameFromDiagonal( down, out );

    if (pickedVertexState != null) {
        if (clear) {
            pickedVertexState.clear();
        }
        GraphElementAccessor<Room, Exit> pickSupport = vv.getPickSupport();

        Collection<Room> picked = pickSupport.getVertices( layout, pickRectangle );
        for (Room v : picked) {
            pickedVertexState.pick( v, true );
        }
    }
}
 
開發者ID:lauriholmas,項目名稱:batmapper,代碼行數:25,代碼來源:MapperPickingGraphMousePlugin.java

示例6: renderElement

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
@Override
public void renderElement(JPanel jp, Object elem) {
    if (elem instanceof ViwnNode) {
        ViwnNode vn = (ViwnNode) elem;

        // one node visualisation
        Graph<ViwnNode, ViwnEdge> g = new DirectedSparseGraph<>();
        g.addVertex(vn);
        VisualizationViewer<ViwnNode, ViwnEdge> vv = new VisualizationViewer<>(new StaticLayout<>(g));
        vv.getRenderer().setVertexRenderer(new ViwnVertexRenderer(vv.getRenderer().getVertexRenderer()));

        vv.getRenderContext().setVertexShapeTransformer((ViwnNode v) -> v.getShape());

        vv.getRenderContext().setVertexFillPaintTransformer(new ViwnVertexFillColor(vv.getPickedVertexState(), null));
        vv.setVertexToolTipTransformer(new ViwnVertexToolTipTransformer());
        vv.setPreferredSize(new Dimension(110, 50));
        Point2D q = vv.getGraphLayout().transform(vn);
        Point2D lvc = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(vv.getCenter());
        vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).translate(lvc.getX() - q.getX(), lvc.getY() - q.getY());
        jp.add(vv, "vfill br");
    }
}
 
開發者ID:CLARIN-PL,項目名稱:WordnetLoom,代碼行數:23,代碼來源:ViwnLockerViewUI.java

示例7: run

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
@Override
public void run() {
	visualizationViewer = new VisualizationViewer<Vertex, Edge>(layout);
	synchronized (this) {
		this.notifyAll();	
	}
	
	while(running) {
		try {
			System.out.println("Running a task");
			tasks.take().run();
			System.out.println("Finished a task");
		} catch (InterruptedException e) {
			JOptionPane.showMessageDialog(null, "Could not execute VisualizationViewer Task", "Visualization error", JOptionPane.ERROR_MESSAGE);
			e.printStackTrace();
		}
	}
}
 
開發者ID:dev-cuttlefish,項目名稱:cuttlefish,代碼行數:19,代碼來源:VisualizationViewerWorker.java

示例8: getVisualizationViewer

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
/**
 * Getter for JUNG's VisualizationViewer, creating it if it does not exist
 * 
 * @return VisualizationViewer
 */
public VisualizationViewer<Vertex, Edge> getVisualizationViewer() {
	// Create it if it didn't exist before
	if (visualizationViewer == null) {
		if (layout == null) {
			synchronized (this) {
				try {
					this.wait();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
		visualizationViewer = new VisualizationViewer<Vertex, Edge>(layout, new Dimension(width, height));
		visualizationViewer.setBackground(Color.WHITE);
	}
	return visualizationViewer;
}
 
開發者ID:dev-cuttlefish,項目名稱:cuttlefish,代碼行數:23,代碼來源:NetworkPanel.java

示例9: handlePopup

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
@SuppressWarnings("unchecked")
protected void handlePopup(MouseEvent e) {
       final VisualizationViewer<V,E> vv =
               (VisualizationViewer<V,E>)e.getSource();
       Point2D p = e.getPoint();
       
       GraphElementAccessor<V,E> pickSupport = vv.getPickSupport();
       if(pickSupport != null) {
           final V v = pickSupport.getVertex(vv.getGraphLayout(), p.getX(), p.getY());
           if(v != null) {
               updateVertexMenu(v, networkPanel, p);
               vertexPopup.show(vv, e.getX(), e.getY());
           } else {
               final E edge = pickSupport.getEdge(vv.getGraphLayout(), p.getX(), p.getY());
               if(edge != null) {
                   updateEdgeMenu(edge, networkPanel, p);
                   edgePopup.show(vv, e.getX(), e.getY());              
               }
           }
       }
   }
 
開發者ID:dev-cuttlefish,項目名稱:cuttlefish,代碼行數:22,代碼來源:PopupMousePlugin.java

示例10: getClickedElement

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
private GraphElement getClickedElement( VisualizationViewer<SEMOSSVertex, SEMOSSEdge> viewer,
		double x, double y ) {
	GraphElementAccessor<SEMOSSVertex, SEMOSSEdge> pickSupport
			= viewer.getPickSupport();

	SEMOSSVertex vert = pickSupport.getVertex( viewer.getGraphLayout(), x, y );
	if ( null != vert ) {
		return vert;
	}

	SEMOSSEdge edge = pickSupport.getEdge( viewer.getGraphLayout(), x, y );
	if ( null != edge ) {
		return edge;
	}

	return null;
}
 
開發者ID:Ostrich-Emulators,項目名稱:semtool,代碼行數:18,代碼來源:GraphNodeListener.java

示例11: handleRightClick

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
protected Set<SEMOSSVertex> handleRightClick(
		VisualizationViewer<SEMOSSVertex, SEMOSSEdge> viewer,
		GraphElement ele, MouseEvent e ) {
	logger.debug( "The user right clicked." );

	Set<SEMOSSVertex> vertHash = new HashSet<>();

	Set<SEMOSSVertex> pickedVertices = viewer.getPickedVertexState().getPicked();
	vertHash.addAll( pickedVertices );

	SEMOSSVertex[] vertices
			= pickedVertices.toArray( new SEMOSSVertex[pickedVertices.size()] );

	// for now...
	new GraphNodePopup( gps, ele, vertices, forTree ).show( e );

	return vertHash;
}
 
開發者ID:Ostrich-Emulators,項目名稱:semtool,代碼行數:19,代碼來源:GraphNodeListener.java

示例12: mouseDragged

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
/**
 * If startVertex is non-null, stretch an edge shape between startVertex and
 * the mouse pointer to simulate edge creation
 */
@SuppressWarnings( "unchecked" )
@Override
public void mouseDragged( MouseEvent e ) {
	if ( checkModifiers( e ) ) {
		VisualizationViewer<V, E> vv
				= (VisualizationViewer<V, E>) e.getSource();
		if ( createMode == Creating.EDGE ) {
			edgeSupport.midEdgeCreate( vv, e.getPoint() );
		}
		else if ( createMode == Creating.VERTEX ) {
			vertexSupport.midVertexCreate( vv, e.getPoint() );
		}
		else if ( Creating.MOVE == createMode ) {
			vv.getGraphLayout().setLocation( moveVertex, e.getPoint() );
		}
	}
}
 
開發者ID:Ostrich-Emulators,項目名稱:semtool,代碼行數:22,代碼來源:QueryGraphMousePlugin.java

示例13: mousePressed

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
@Override
public void mousePressed(MouseEvent e) {
    if (checkModifiers(e)) {
        startVertex = null;
        down = null;

        GUINode guiNode = canvas.getVertex(e);
        Node node = guiNode == null? null : guiNode.getAssociatedNode();
        if (node != null) {
            final VisualizationViewer<GUINode, GUILink> vv = (VisualizationViewer<GUINode, GUILink>) e.getSource();

            startVertex = guiNode;
            down = e.getPoint();
            transformEdgeShape(down, down);
            vv.addPostRenderPaintable(edgePaintable);
            transformArrowShape(down, e.getPoint());
            vv.addPostRenderPaintable(arrowPaintable);
            e.consume();
        }
    }
}
 
開發者ID:girtel,項目名稱:Net2Plan,代碼行數:22,代碼來源:AddLinkGraphPlugin.java

示例14: setUpView

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
private void setUpView(Graph graph)
    {                 
//        layout = new SpringLayout2(graph);
        layout = new KKLayout(graph);
        //layout.setSize(new Dimension(700,700));
        vv = new VisualizationViewer(layout);
        vv.setPreferredSize(new Dimension(900,900));
        vv.setBackground( Color.white );
        // Tell the renderer to use our own customized label rendering
        vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
        vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller());
        vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR);
        getContentPane().add(new GraphZoomScrollPane(vv), BorderLayout.CENTER);

        /*Mouse controller plugins*/
        PluggableGraphMouse gm = new PluggableGraphMouse();
        gm.add(new TranslatingGraphMousePlugin(MouseEvent.BUTTON3_MASK));
        gm.add(new ScalingGraphMousePlugin(new CrossoverScalingControl(), 0, 1.1f, 0.9f));
        gm.add(new PickingGraphMousePlugin());
        vv.setGraphMouse(gm);
    }
 
開發者ID:sinantie,項目名稱:Generator,代碼行數:22,代碼來源:VisualiseHypergraph.java

示例15: getVertexPaintTransformer

import edu.uci.ics.jung.visualization.VisualizationViewer; //導入依賴的package包/類
@Override
public Transformer<String, Paint> getVertexPaintTransformer(VisualizationViewer<String, String> viewer) {
	return new Transformer<String, Paint>() {

		@Override
		public Paint transform(String name) {
			if (viewer.getPickedVertexState().isPicked(name)) {
				return GraphViewer.NODE_SELECTED;
			} else if (sourceFilter.getSelectedIndex() > 0
					&& ((SourceId) sourceFilter.getSelectedItem()).getId().equals(name)) {
				return GraphViewer.NODE_ON_PATH;
			} else {
				return GraphViewer.NODE_BACKGROUND;
			}
		}
	};
}
 
開發者ID:rapidminer,項目名稱:rapidminer-studio,代碼行數:18,代碼來源:TransitionGraphCreator.java


注:本文中的edu.uci.ics.jung.visualization.VisualizationViewer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。