【发布时间】:2011-10-07 16:21:49
【问题描述】:
我有一个设计项目,我应该使用我的鼠标在 Java 中绘制锯齿形。首先,我使用的是 MouseListener,在 mouseClicked 方法中,我收集了用户点击的所有点:
public void mouseClicked(MouseEvent e){
if(isAbleToDraw){
corners[points]=e.getPoint();
points++;
repaint();
}
}
这里我使用布尔值“isAbleToDraw”来检查用户是否点击了“绘图”或“停止绘图”按钮。 然后,我画出这样的锯齿形:
super.paintComponent(graph);
Graphics2D g = (Graphics2D) graph;
g.drawLine(corners[i].x, corners[i].y, corners[i+1].x, corners[i+1].y);
最后,问题是,当我在绘制锯齿形后单击“停止绘制”按钮,然后再次单击“绘制”按钮后,它一直从它离开的最后一点开始绘制线条。换句话说,我不能画出 2 个不同的独立之字形。
知道如何解决这个问题吗?
【问题讨论】:
标签: java event-handling drawing java-2d