[英]How do I stop mousePressed in Java 7 (line from continuing to be drawn) when I go to use a JButton
我有一个由JButton绘制线调用的类。下面的代码通过逐点创建一条线并将每个点存储到ArrayList来在Jpanel上绘制一条线。 我只实现了mousePressed事件,该事件允许绘制线条
我遇到的问题是,当我单击另一个名为saveToFile的按钮时,该行将保存到我想要的CSV文件(ptID,x,y)中,但是当我在JPanel中单击返回时,绘制的行仍然继续每次单击鼠标即可绘制。
在将行写入CSV文件后,在SaveToFile按钮中将pts arrayList设置为null。
我不确定如何单击JButton saveToFile后如何获取mousepressed事件以停止将点写入arrayList?
我在某处读到某个事件可能被停用,这不是一个好主意
我想知道是否
抱歉,这很简单。 我正在学习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
}
}
将pt发送到csv后,尝试使用SaveToFile按钮方法重新实例化ArrayList pt。 如果您想保留这条线,则可能需要研究构建2D arraylist:
ArrayList<ArrayList<Point>> pts;
并在每次将SaveToFile按钮按下到2D arraylist时添加一个新的ArrayList。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.