Java Reference
In-Depth Information
paintPanel.addPixels(blackPixels);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() { new SimplePaint(); }
});
}
}
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import javax.swing.JPanel;
public class SimplePaintPanel extends JPanel {
private final Set<Point> blackPixels = new HashSet<Point>();
private final int brushSize;
private int mouseButtonDown = 0;
public SimplePaintPanel() {
this(5, new HashSet<Point>());
}
public SimplePaintPanel(Set<Point> blackPixels) {
this(5, blackPixels);
}
public SimplePaintPanel(int brushSize, Set<Point> blackPixels) {
this.setPreferredSize(new Dimension(300, 300));
this.brushSize = brushSize;
this.blackPixels.addAll(blackPixels);
final SimplePaintPanel self = this;
MouseAdapter mouseAdapter = new MouseAdapter() {
@Override
public void mouseDragged(MouseEvent ev) {
if (mouseButtonDown == 1)
addPixels(getPixelsAround(ev.getPoint()));
else if (mouseButtonDown == 3)
removePixels(getPixelsAround(ev.getPoint()));
}
@Override
public void mousePressed(MouseEvent ev) {
self.mouseButtonDown = ev.getButton();
}
};
this.addMouseMotionListener(mouseAdapter);
Search WWH ::




Custom Search