首页 > 解决方案 > 如何使用鼠标监听器和计时器计算点击次数

问题描述

因此,我在编写鼠标侦听器时遇到了一些麻烦,因为我希望仅在双击时执行该操作。我正在尝试使用计时器来重置一个跟踪点击的值,但我认为我对计时器没有正确的理解。

 getTable().addMouseListener(new MouseAdapter(){
      public void mouseClicked(MouseEvent e)
      {
          if ( isClickedOnce && SwingUtilities.isLeftMouseButton(e))
          {
              isClickedOnce = false;
              System.out.println("anything");
          }
          else if(SwingUtilities.isLeftMouseButton(e))
          {
              isClickedOnce = true;
              Timer time = new Timer(1000,new ActionListener(){
              public void actionPerformed(ActionEvent actionEvent)
                            {isClickedOnce=false;}
              });
              time.start();
              }
          }
      });

标签: javaswingmouseeventactionlistenermouselistener

解决方案


Java 将为您做到这一点。在 mouseClicked() 中:

if(e.getClickCount() == 2) {
  // do something
}

推荐阅读