📄 parallelgatewayview.java
字号:
package org.jgpd.jgraph;import java.awt.BasicStroke;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Polygon;import org.jgraph.JGraph;import org.jgraph.graph.CellMapper;import org.jgraph.graph.CellViewRenderer;import org.jgraph.graph.GraphConstants;import org.jgraph.graph.VertexRenderer;import org.jgraph.graph.VertexView;public class ParallelGatewayView extends VertexView{ public static int default_width = 70; public static int default_height = 70; public static ParallelGatewayRenderer renderer = new ParallelGatewayRenderer(); public ParallelGatewayView(Object cell, JGraph graph, CellMapper cm) { super(cell, graph, cm); } public CellViewRenderer getRenderer() { return renderer; } public static class ParallelGatewayRenderer extends VertexRenderer { public void paint(Graphics g) { int b = borderWidth; Graphics2D g2 = (Graphics2D) g; Dimension d = getSize(); if ( d.width > d.height ) { // Wide and short d.width = d.height; d.height = d.height; } else { // Thin and tall d.width = d.width; d.height = d.width; } // Set up x and y arrays for polygon ( which is how we're drawin // our diamond shape ) int [] polyx = { 0, (d.width - b)/2, d.width - b, (d.width - b)/2 }; int [] polyy = { (d.height - b)/2, 0, (d.height - b)/2, (d.height - b) }; boolean tmp = selected; if (super.isOpaque()) { Polygon poly = new Polygon(polyx, polyy, 4 ); g.setColor(super.getBackground()); g2.fillPolygon( poly ); } try { setBorder(null); setOpaque(false); selected = false; super.paint(g); } finally { selected = tmp; } if (bordercolor != null) { g.setColor(bordercolor); g2.setStroke(new BasicStroke(b)); Polygon poly = new Polygon( polyx, polyy, 4 ); g2.draw(poly); g2.setStroke(new BasicStroke(4.0f)); g2.drawLine(b+d.width/4 , b+d.height/2 , d.width*3/4+b, b+d.height/2); g2.drawLine(b+d.width/2 , b+d.height/4 , b+d.width/2 , b+d.height*3/4); // g2.drawOval(b+d.width/4 , b+d.height/4 ,( d.width-b)/2, ( d.width-b)/2); } if (selected) { g2.setStroke(GraphConstants.SELECTION_STROKE); g.setColor(graph.getHighlightColor()); Polygon poly = new Polygon( polyx, polyy, 4 ); g2.draw(poly); // System.out.println("x="+b+","+"w="+"); g2.setStroke(new BasicStroke(4.0f)); g2.drawLine(b+d.width/4 , b+d.height/2 , d.width*3/4+b, b+d.height/2); g2.drawLine(b+d.width/2 , b+d.height/4 , b+d.width/2 , b+d.height*3/4); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -