【发布时间】:2017-09-24 05:42:28
【问题描述】:
在 Swing 应用程序中,当鼠标在框架内移动时,actionPerformed 方法会停止循环。我该如何解决这个问题?
这是我的程序的基本布局:
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
// main game loop
}
}
public void paintComponent(Graphics g) {
// render loop
}
我找到了a similar question here。用户发现通过降低鼠标的轮询率他们解决了问题;但是我无法更改苹果触控板上的轮询率,也没有提供其他解决方案。这也是一个不雅的解决方案,需要用户更改设置,老实说,必须有更好的方法来解决问题。
基本上问题归结为:
- 我是否可以在我的程序中更改投票率?我做了一些研究,但找不到解决方案。
- 如何禁用鼠标移动事件,以免减慢我的游戏循环? (也可能将其移至单独的进程,并使用该进程提供的鼠标 x 和 y 位置作为游戏循环中的逻辑。)
- 我可以实施哪些替代解决方案来解决此问题?
【问题讨论】: