edu.uci.ics.jung.visualization.renderers.Checkmark Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jung-visualization Show documentation
Show all versions of jung-visualization Show documentation
Core visualization support for the JUNG project
The newest version!
package edu.uci.ics.jung.visualization.renderers;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
import java.util.Collections;
import javax.swing.Icon;
/**
* a simple Icon that draws a checkmark in the lower-right quadrant of its
* area. Used to draw a checkmark on Picked Vertices.
* @author Tom Nelson
*/
public class Checkmark implements Icon {
GeneralPath path = new GeneralPath();
AffineTransform highlight = AffineTransform.getTranslateInstance(-1,-1);
AffineTransform lowlight = AffineTransform.getTranslateInstance(1,1);
AffineTransform shadow = AffineTransform.getTranslateInstance(2,2);
Color color;
public Checkmark() {
this(Color.green);
}
public Checkmark(Color color) {
this.color = color;
path.moveTo(10,17);
path.lineTo(13,20);
path.lineTo(20,13);
}
public void paintIcon(Component c, Graphics g, int x, int y) {
Shape shape = AffineTransform.getTranslateInstance(x, y).createTransformedShape(path);
Graphics2D g2d = (Graphics2D)g;
g2d.addRenderingHints(Collections.singletonMap(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON));
Stroke stroke = g2d.getStroke();
g2d.setStroke(new BasicStroke(4));
g2d.setColor(Color.darkGray);
g2d.draw(shadow.createTransformedShape(shape));
g2d.setColor(Color.black);
g2d.draw(lowlight.createTransformedShape(shape));
g2d.setColor(Color.white);
g2d.draw(highlight.createTransformedShape(shape));
g2d.setColor(color);
g2d.draw(shape);
g2d.setStroke(stroke);
}
public int getIconWidth() {
return 20;
}
public int getIconHeight() {
return 20;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy