我正在使用Swing创建一个触摸屏应用程序,并请求更改其中一个按钮,以便在按下按钮时它的行为类似于键盘.
(首先,我不确定触摸屏是否允许用户"按住"按钮,但假装他们现在可以)
我打算mousePressed
在调用时开始循环,然后在mouseReleased
调用时结束循环.这将涉及启动一个线程,并且必须处理同步以及invokeLater()
将事件重新发送到EventQueue
.
有一种非常简单的方法可以做我想要的吗?我希望我没有看到API来做到这一点.
javax.swing.Timer是你的朋友.这是一篇包含更多信息的文章.
我会这样做:
收听mousePressed并安排java.util.Timer稍后启动.
计时器执行操作并将其自身设置为再次计划.
听取鼠标释放取消定时器.