2013-04-05 119 views
0

我目前正在使用定時器和JProgressBars來爲角色統計添加填充效果。我遇到的一個問題是,如果在進度條被填充之前選擇了另一個字符,則會導致圖形重疊並且看起來非常麻煩。定時器通過一個自定義操作類連接到JButtons,按鈕可以通過鍵導航。我想要做的是在動作開始時禁用鍵盤輸入,並在最長定時器結束時重新啓用鍵。如果代碼有用,請問我會上傳文件。任何和所有的幫助,不勝感激。暫時禁用鍵盤輸入java

+0

我知道我沒有幫助,但Swing不是爲遊戲設計的。 – 2013-04-05 23:11:09

+0

Swing僅用於菜單。 – Taxes45 2013-04-05 23:20:56

回答

1

沒有看到任何代碼,它很難找到任何修復。但是如果你的計時器是線程,也許線程組會很有用。這個怎麼樣:

public class MyWindow { 
    Integer numTimersRunning = 0; 
    ... 
    { 
      // timer started here 
      numTimersRunning++; 
      //timer does its thing and makes the progress bars go up. 
      ... 
      //timer finishes 
      numTimersRunning--; 
    } 

    void keyPressed(MouseEvent e) { 
    if(numTimersRunning > 0) 
       return; 
    // do your keyboard input processing.... 
    } 
} 

我不知道在黑暗中只是一槍,祝你好運。

ps:聽起來你可能正在裝入一些雙緩衝發出。退房http://docs.oracle.com/javase/tutorial/extra/fullscreen/doublebuf.html

+0

這正是我所需要的。非常感謝。 – Taxes45 2013-04-05 23:24:45