【问题标题】:mouse event while mouse click is held down but not moving , Java awt按住鼠标单击但不移动时的鼠标事件,Java awt
【发布时间】:2018-05-04 15:31:20
【问题描述】:

我想在按住鼠标单击但没有移动时获取鼠标事件。 mouseDragged 仅在鼠标移动时有效,但如何在鼠标不移动时获取事件。

我正在使用 java.awt.event.MouseListener 谢谢。

【问题讨论】:

  • 你可能想使用mousePressed(MouseEvent e)
  • 要清楚,我正在寻找按住鼠标单击的情况,鼠标按下只能工作一次,而不是连续工作。
  • 不清楚。您应该解释为什么要获得该结果
  • 好吧,当什么都没发生时你不会收到事件。当鼠标按下时启动你的东西(计时器或其他),当它被释放时停止你的东西。
  • @Berger 啊,你说得对,谢谢

标签: java jpanel


【解决方案1】:

有一个完整的 AWT 的 javadoc(也适用于许多其他 api):https://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseListener.html

void mousePressed(MouseEvent e) 在组件上按下鼠标按钮时调用。

void mouseReleased(MouseEvent e) 在组件上释放鼠标按钮时调用。

【讨论】:

  • 要清楚我在按住鼠标单击时寻找事件,鼠标按下只能工作一次
  • 如果鼠标被按下并且不移动,则没有事件
  • 所以在连续按下鼠标时无法获取鼠标事件
  • @amirsoltani 不 - 你会得到一个“按下”事件,然后当你没有得到一个“拖动”事件并且直到你得到一个“释放”事件时,鼠标被按下到位.如果我们了解您要解决的问题,为您提供一些想法可能会更容易
  • 在现实生活中,如果按住按钮且鼠标静止不动,作为观察者,您会说“什么都没有发生”。好吧,在awt中,它是一样的。如果你释放按钮,你会得到一个事件,如果鼠标移动也是如此。
【解决方案2】:

在按住鼠标单击且鼠标就位时,鼠标未检测到任何事件

【讨论】:

    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 2011-05-30
    相关资源
    最近更新 更多