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

📄 dataobjview.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 DataObjView
    extends VertexView {
  public static int default_width = 60;
  public static int default_height = 100;

  public static DataObjRenderer renderer = new DataObjRenderer();

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

    //  (DataObjView.renderer).setBackground(Color.YELLOW);

  }

  public CellViewRenderer getRenderer() {
    return renderer;
  }

  public static class DataObjRenderer
      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 = {
          b, d.width - b - 20, d.width - b, d.width - b, b};
      int[] polyy = {
          b, b, b + 20, d.height - b, d.height - b};
      Polygon poly = new Polygon(polyx, polyy, 5);
      boolean tmp = selected;
      if (super.isOpaque()) {

        g.setColor(super.getBackground());

        g2.fillPolygon(poly);
        g2.drawLine(d.width - b - 20, b, d.width - b - 20, b + 20);
        g2.drawLine(d.width - b - 20, b + 20, d.width - b, b + 20);
      }
      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.drawPolygon(poly);
        g2.drawLine(d.width - b - 20, b, d.width - b - 20, b + 20);
        g2.drawLine(d.width - b - 20, b + 20, d.width - b, b + 20);

      }
      if (selected) {
        g2.setStroke(GraphConstants.SELECTION_STROKE);
        g.setColor(graph.getHighlightColor());
        //  Polygon poly = new Polygon( polyx, polyy, 6 );
        g2.drawPolygon(poly);
        g2.drawLine(d.width - b - 20, b, d.width - b - 20, b + 20);
        g2.drawLine(d.width - b - 20, b + 20, d.width - b, b + 20);

      }
    }
  }
}

⌨️ 快捷键说明

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