interview.java

来自「用JGraph编的软件」· Java 代码 · 共 90 行

JAVA
90
字号
package org.jgpd.jgraph;import java.awt.BasicStroke;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics2D;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 InterView  extends VertexView{        public static int defaultWidth = 50;        public static int defaultHeight = 50;        public static InterRenderer renderer = new InterRenderer();        public InterView(Object cell, JGraph graph, CellMapper cm) {                super(cell, graph, cm);        }        public CellViewRenderer getRenderer() {                return renderer;        }        public static class InterRenderer extends VertexRenderer {                public void paint(Graphics g) {                        int b = borderWidth;                        Graphics2D g2 = (Graphics2D) g;                        Dimension d = getSize();                        boolean tmp = selected;                        // Get square from rectangle                        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;                        }                        if (super.isOpaque()) {                                g2.setColor(super.getBackground());                              //  g.fillOval(b+9, b+9, d.width - b-20, d.height - b-20);                                g2.fillOval(b-1 , b-1 , d.width +b+1, d.height +b+1);                        }                        try {                                setBorder(null);                                setOpaque(false);                                selected = false;                                super.paint(g);                        } finally {                                selected = tmp;                        }                        if (bordercolor != null) {                                g.setColor(bordercolor);                                g2.setStroke(new BasicStroke(b));                                g2.drawOval(b-1 , b-1 , d.width + b-1, d.height +b-1);                                g2.drawRect(b+d.width/4,b+d.width/4, d.width/2, d.width/2);                                g2.drawLine(b+d.width/4,b+d.width/4,b+d.height/2,b+d.height/2);                                g2.drawLine(b+d.width/2,b+d.height/2,b+d.width*3/4,b+d.height/4);                              //  g.drawOval( b+9, b+9, d.width - b-20, d.height - b-20);                        }                        if (selected) {                                g2.setStroke(GraphConstants.SELECTION_STROKE);                                g2.setColor(graph.getHighlightColor());                                g2.drawOval(b , b , d.width + b-1, d.height +b-1);                                g2.drawRect(b+d.width/4,b+d.width/4, d.width/2, d.width/2);                                g2.drawLine(b+d.width/4,b+d.width/4,b+d.height/2,b+d.height/2);                                g2.drawLine(b+d.width/2,b+d.height/2,b+d.width*3/4,b+d.height/4);                             //  g.drawOval(b+9, b+9, d.width - b-20, d.height - b-20);                        }                }        }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?