所以我用java做了一个绘图应用程序。然而,不是单击并按住,然后拖动来绘制一些东西。相反,我想单击以激活画笔/笔,它将绘制到我使用鼠标的任何位置,然后再次单击以停用画笔/笔。
public class DrawArea extends JComponent {
private Image image;
private Graphics2D g2;
// Mouse coordinates
private int currentX, currentY, oldX, oldY;
public DrawArea() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
// save coord x,y when mouse is pressed
oldX = e.getX();
oldY = e.getY();
}
});
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
// coord x,y when drag mouse
currentX = e.getX();
currentY = e.getY();
if (g2 != null) {
// draw oval if g2 context not null
g2.drawOval(oldX, oldY, 20, 20);
g2.fillOval(oldX, oldY, 20, 20);
// refresh draw area to repaint
repaint();
// store current coords x,y as olds x,y
oldX = currentX;
oldY = currentY;
}
}
});发布于 2015-11-05 12:48:21
创建一个在单击时激活、运行到再次单击的变量,将该变量设置为false。这就是我要做的。
https://stackoverflow.com/questions/33536886
复制相似问题