📄 dataobjview.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 + -