⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 laneview.java

📁 用JGraph编的软件
💻 JAVA
字号:

package org.jgpd.jgraph;

import java.awt.Color;
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 LaneView
    extends VertexView {
  public static int default_width = 300;
  public static int default_height = 100;

  public static LaneRenderer renderer = new LaneRenderer();

  public LaneView(Object cell, JGraph graph, CellMapper cm) {
    super(cell, graph, cm);
    (LaneView.renderer).setOpaque(true);

    (LaneView.renderer).setBackground(Color.cyan);

  }

  public CellViewRenderer getRenderer() {
    return renderer;
  }

  public static class LaneRenderer
      extends VertexRenderer {

    public void paint(Graphics g) {
      int b = borderWidth;
      Graphics2D g2 = (Graphics2D) g;
      Dimension d = getSize();

      // Set up x and y arrays for polygon ( which is how we're drawin
      // our diamond shape )
      //   int [] polyx =  {  0,  30,d.width - b,d.width - b,30,0 };
      //   int [] polyy =  { 0,0,0,d.height - b,d.height - b, d.height - b};

      boolean tmp = selected;
      if (super.isOpaque()) {
        //  Polygon poly = new Polygon(polyx, polyy, 6 );
        g.setColor(super.getBackground());
        g2.fillRect(b - 1,
                    b - 1,
                    d.width - b,
                    d.height - b
                    );
        // 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));
        g2.drawRect(b - 1,
                    b - 1,
                    d.width - b,
                    d.height - b
                    );
        g2.drawLine(b+30,b,b+30,d.height+b);
        g2.drawLine(b+30,d.height/2+b,d.width+b,d.height/2+b);
        //  Polygon poly = new Polygon( polyx, polyy, 6 );
        // g2.draw(poly);
      }
      if (selected) {
        g2.setStroke(GraphConstants.SELECTION_STROKE);
        g.setColor(graph.getHighlightColor());
        //  Polygon poly = new Polygon( polyx, polyy, 6 );
        g2.drawRect(b - 1,
                    b - 1,
                    d.width - b,
                    d.height - b
                    );
        g2.drawLine(b+30,b,b+30,d.height+b);
        g2.drawLine(b+30,d.height/2+b,d.width+b,d.height/2+b);
        //g2.draw(poly);
      }
    }
  }
}

⌨️ 快捷键说明

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