当前位置: 首页>>代码示例>>Java>>正文


Java ShapePickSupport类代码示例

本文整理汇总了Java中edu.uci.ics.jung.visualization.picking.ShapePickSupport的典型用法代码示例。如果您正苦于以下问题:Java ShapePickSupport类的具体用法?Java ShapePickSupport怎么用?Java ShapePickSupport使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ShapePickSupport类属于edu.uci.ics.jung.visualization.picking包,在下文中一共展示了ShapePickSupport类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: BasicVisualizationServer

import edu.uci.ics.jung.visualization.picking.ShapePickSupport; //导入依赖的package包/类
/**
	 * Create an instance with passed parameters.
	 * 
	 * @param model
	 * @param renderer
	 * @param preferredSize initial preferred size of the view
	 */
	@SuppressWarnings("unchecked")
    public BasicVisualizationServer(VisualizationModel<V,E> model,
	        Dimension preferredSize) {
	    this.model = model;
//        renderContext.setScreenDevice(this);
	    model.addChangeListener(this);
	    setDoubleBuffered(false);
		this.addComponentListener(new VisualizationListener(this));

		setPickSupport(new ShapePickSupport<V,E>(this));
		setPickedVertexState(new MultiPickedState<V>());
		setPickedEdgeState(new MultiPickedState<E>());
        
        renderContext.setEdgeDrawPaintTransformer(new PickableEdgePaintTransformer<E>(getPickedEdgeState(), Color.black, Color.cyan));
        renderContext.setVertexFillPaintTransformer(new PickableVertexPaintTransformer<V>(getPickedVertexState(), 
                Color.red, Color.yellow));
		
		setPreferredSize(preferredSize);
		renderingHints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        renderContext.getMultiLayerTransformer().addChangeListener(this);
	}
 
开发者ID:SiLeBAT,项目名称:BfROpenLab,代码行数:30,代码来源:BasicVisualizationServer.java

示例2: getSampleGraphViewer

import edu.uci.ics.jung.visualization.picking.ShapePickSupport; //导入依赖的package包/类
public JPanel getSampleGraphViewer() throws IOException {
    vv = new VisualizationViewer<>(layout);

    vv.getRenderer().setVertexRenderer(
            new ViwnVertexRenderer(vv.getRenderer().getVertexRenderer()));
    HashMap<RenderingHints.Key, Object> hints = new HashMap<>();
    hints.put(RenderingHints.KEY_ALPHA_INTERPOLATION,
            RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
    hints.put(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
    hints.put(RenderingHints.KEY_INTERPOLATION,
            RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
    hints.put(RenderingHints.KEY_STROKE_CONTROL,
            RenderingHints.VALUE_STROKE_PURE);
    hints.put(RenderingHints.KEY_FRACTIONALMETRICS,
            RenderingHints.VALUE_FRACTIONALMETRICS_OFF);
    hints.put(RenderingHints.KEY_TEXT_ANTIALIASING,
            RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
    hints.put(RenderingHints.KEY_RENDERING,
            RenderingHints.VALUE_RENDER_SPEED);
    vv.setRenderingHints(hints);

    RenderContext<ViwnNode, ViwnEdge> rc = vv.getRenderContext();

    rc.setVertexShapeTransformer((ViwnNode v) -> v.getShape());

    rc.setVertexFillPaintTransformer(new ViwnVertexFillColor(vv
            .getPickedVertexState(), rootNode));

    rc.setEdgeLabelClosenessTransformer(new ConstantDirectionalEdgeValueTransformer<>(
            0.5, 0.5));

    rc.setEdgeIncludePredicate((Context<Graph<ViwnNode, ViwnEdge>, ViwnEdge> context) -> {
        if (context.element instanceof ViwnEdgeCandidate) {
            ViwnEdgeCandidate cand = (ViwnEdgeCandidate) context.element;
            return !cand.isHidden();
        }
        return true;
    });

    Transformer<ViwnEdge, Paint> edgeDrawColor = (ViwnEdge e) -> e.getColor();
    rc.setEdgeDrawPaintTransformer(edgeDrawColor);
    rc.setArrowDrawPaintTransformer(edgeDrawColor);
    rc.setArrowFillPaintTransformer(edgeDrawColor);

    rc.setEdgeStrokeTransformer(new ViwnEdgeStrokeTransformer());

    graphMouseListener = new ViwnGraphMouseListener(this);
    vv.addGraphMouseListener(graphMouseListener);

    Transformer<ViwnEdge, String> stringer = (ViwnEdge rel) -> rel.toString();
    rc.setEdgeLabelTransformer(stringer);
    rc.setEdgeShapeTransformer(new EdgeShape.Line<>());

    ViwnGraphViewModalGraphMouse gm = new ViwnGraphViewModalGraphMouse(this);
    vv.addKeyListener(gm.getModeKeyListener());

    vv.getRenderer().setEdgeLabelRenderer(new AstrideLabelRenderer<>());

    vv.setGraphMouse(gm);

    GraphZoomScrollPane panel = new GraphZoomScrollPane(vv);
    panel.add(vv);

    ((ShapePickSupport<ViwnNode, ViwnEdge>) rc.getPickSupport())
            .setPickSize(EDGE_PICK_SIZE);

    vv.setVertexToolTipTransformer(new ViwnVertexToolTipTransformer());

    return panel;
}
 
开发者ID:CLARIN-PL,项目名称:WordnetLoom,代码行数:72,代码来源:ViwnGraphViewUI.java

示例3: getSampleGraphViewer

import edu.uci.ics.jung.visualization.picking.ShapePickSupport; //导入依赖的package包/类
private JPanel getSampleGraphViewer() throws IOException {
    vv = new VisualizationViewer<>(layout);

    vv.getRenderer().setVertexRenderer(
            new ViwnVertexRenderer(vv.getRenderer().getVertexRenderer()));
    HashMap<RenderingHints.Key, Object> hints = new HashMap<>();
    hints.put(RenderingHints.KEY_ALPHA_INTERPOLATION,
            RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
    hints.put(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
    hints.put(RenderingHints.KEY_INTERPOLATION,
            RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
    hints.put(RenderingHints.KEY_STROKE_CONTROL,
            RenderingHints.VALUE_STROKE_PURE);
    hints.put(RenderingHints.KEY_FRACTIONALMETRICS,
            RenderingHints.VALUE_FRACTIONALMETRICS_OFF);
    hints.put(RenderingHints.KEY_TEXT_ANTIALIASING,
            RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
    hints.put(RenderingHints.KEY_RENDERING,
            RenderingHints.VALUE_RENDER_SPEED);
    vv.setRenderingHints(hints);

    RenderContext<ViwnNode, ViwnEdge> rc = vv.getRenderContext();

    rc.setVertexShapeTransformer((ViwnNode v) -> v.getShape());

    rc.setVertexFillPaintTransformer(new ViwnVertexFillColor(vv
            .getPickedVertexState(), rootNode));

    rc.setEdgeLabelClosenessTransformer(new ConstantDirectionalEdgeValueTransformer<>(
            0.5, 0.5));

    rc.setEdgeIncludePredicate((Context<Graph<ViwnNode, ViwnEdge>, ViwnEdge> context) -> {
        if (context.element instanceof ViwnEdgeCandidate) {
            ViwnEdgeCandidate cand = (ViwnEdgeCandidate) context.element;
            return !cand.isHidden();
        }
        return true;
    });

    Transformer<ViwnEdge, Paint> edgeDrawColor = (ViwnEdge e) -> e.getColor();
    rc.setEdgeDrawPaintTransformer(edgeDrawColor);
    rc.setArrowDrawPaintTransformer(edgeDrawColor);
    rc.setArrowFillPaintTransformer(edgeDrawColor);

    rc.setEdgeStrokeTransformer(new ViwnEdgeStrokeTransformer());

    graphMouseListener = new ViwnGraphMouseListener(this);
    vv.addGraphMouseListener(graphMouseListener);

    Transformer<ViwnEdge, String> stringer = (ViwnEdge rel) -> rel.toString();
    rc.setEdgeLabelTransformer(stringer);
    rc.setEdgeShapeTransformer(new EdgeShape.Line<>());

    ViwnGraphViewModalGraphMouse gm = new ViwnGraphViewModalGraphMouse(this);
    vv.addKeyListener(gm.getModeKeyListener());

    vv.getRenderer().setEdgeLabelRenderer(new AstrideLabelRenderer<>());

    vv.setGraphMouse(gm);

    GraphZoomScrollPane panel = new GraphZoomScrollPane(vv);
    panel.add(vv);

    ((ShapePickSupport<ViwnNode, ViwnEdge>) rc.getPickSupport())
            .setPickSize(EDGE_PICK_SIZE);

    vv.setVertexToolTipTransformer(new ViwnVertexToolTipTransformer());

    return panel;
}
 
开发者ID:CLARIN-PL,项目名称:WordnetLoom,代码行数:72,代码来源:ViwnGraphViewUI.java


注:本文中的edu.uci.ics.jung.visualization.picking.ShapePickSupport类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。