当前位置: 首页 > 知识库问答 >
问题:

当我使用JButton时,如何在Java7中停止mousePressed(继续绘制的行)

郑高驰
2023-03-14

我有一个由JButton drawline调用的类。下面的代码允许通过逐点创建a线并将每个点存储到ArrayList中来在Jpanel上绘制一条线。我只实现了mousePressed事件,它允许绘制线

在行写入CSV文件后,我在SaveToFile按钮中将pts arrayList设置为null。

我不确定当我单击JButton SaveToFile时,如何让mousepressed事件停止向arrayList写入一个点?

我在某处读到一个事件可以被停用,这不是一个好主意

    null

类DrawLine实现ActionListener{public void actionPerformed(ActionEvent事件){try{

           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

     }

}

共有1个答案

段干昊然
2023-03-14

在pts发送到CSV之后,尝试在SaveToFile按钮方法中重新实例化ArrayList pts。如果您想保留这一行,那么您可能需要考虑构建一个2D ArrayList:

    ArrayList<ArrayList<Point>> pts;

并在每次按下SaveToFile按钮时向2D ArrayList添加一个新的ArrayList。

 类似资料:
  •        点击后即可选中要素,之后可以对要素的终点节点进行继续的绘制操作。

  • 问题内容: 我正在尝试在来电中暂停录音并在以后恢复录音。我正在使用andriod 并尝试在中录制。我尝试通过重设/停止录音来暂停/恢复,并以开头,是已停止/暂停的音频文件的,希望它可以追加,但是我没有运气。有没有办法实现这一目标或追加两张录音,或者我应该放弃。 码: 停止录制,但恢复失败并显示消息。 问题答案: 您问题的简单答案是: 您不能吗? 因此,在Stop停止后,尝试保存对SDCard的呼叫

  • 我使用Java的rabbitmq-client(https://mvnrepository.com/artifact/com.rabbitmq/amqp-client),我需要实现以下场景: 在接收Rabbit消息时,如果怀疑内存中不适合所有等待的数据,则可能需要暂停特定队列的Rabbitmq消耗。 处理完一些消息后,需要再次打开以下一组消息的消耗。 根据需要重复。 使用amqp-client J

  • 我正在使用Kafka python版本2.0.2来生成和消费消息:我的生产者: 我的消费者: 当我运行消费者时,它运行得很好。但是当我在它完成所有消息之前停止它时,它不会从我停止的地方继续,如果我的程序崩溃或笔记本电脑没电了怎么办?我如何解决每个问题?我希望消费者继续阅读未阅读的消息?

  • 我有这个错误。有人可以帮帮我吗,我认为这是关于触摸听众的事情......当我松开手指时发生错误。 当我尝试运行此代码时,就会发生这种情况: 来自触摸听众: 这两种方法:

  • 我通过创建固定数量的线程来使用执行器服务来进行HTTP GET数据检索。 当Tomcat停止时,我们会出现以下错误: 严重:web应用程序[/viewer]似乎已启动名为[ThreadExecutor_51616156]的线程,但未能停止该线程。这很可能会造成内存泄漏。 这是真的吗?在没有这些服务错误的情况下,如何正确停止tomcat。