【发布时间】:2016-05-03 21:33:15
【问题描述】:
我有一个由 JButton drawline 调用的类。下面的代码允许通过逐点创建一条线并将每个点存储到 ArrayList 来在 Jpanel 上绘制一条线。我只实现了允许绘制线条的 mousePressed 事件
我遇到的问题是,当我单击另一个按钮时,我调用了 saveToFile 按钮 该行保存到我想要的 CSV 文件(ptID,x,y),但是当我在 JPanel 中单击返回时,该行是每次点击鼠标都会继续绘制。
在将行写入 CSV 文件后,我已在 SaveToFile 按钮中将 pts arrayList 设置为空。
当我单击 JButton saveToFile 时,我不确定如何让 mousepressed 事件停止向 arrayList 写入一个点?
我在某处读到过一个事件可能会被停用,这不是一个好主意
我想知道
- 我需要清空 arrayList Pts 并在我之后重新绘制 saveToFile 以便在我重新绘制时从屏幕上删除该行?
- 我可以使用任何其他方法来阻止 mousePressed 仍然发生 一旦我点击了 saveLine 按钮
抱歉,如果这是微不足道的。我正在学习 Java 和 Swing。
类 DrawLine 实现 ActionListener{ 公共无效actionPerformed(ActionEvent事件) { 试试{
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
int yCoord = HEIGHT - e.getYCoord();
int xCoord = e.getXCoord();
String pointxy = "p" + x + "," + y;
Point p = new Point(pointxy);
pts.add(p);
repaint();
}
});
}
// catch stuff done here
}
}
【问题讨论】:
标签: java mouseevent