在Swing應用程序中,當鼠標在框架內移動時,actionPerformed
方法停止循環。我怎樣才能解決這個問題?如何在窗格內移動鼠標時修復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位置作爲遊戲循環中的邏輯。)
- 我可以使用什麼備用解決方案來解決此問題?
發表[MCVE] ... – user1803551