2011-02-14 92 views
0

一些背景: 我有一個回合制的遊戲,你可以在不同的窗口中玩幾個併發的遊戲。每個窗口/遊戲都有它自己的聊天,也是一種遊戲動作面板,當你輪到你時,它就會出現。如何將鍵盤輸入指向非聚焦的JTextField?

問題:當它成爲輪到你在任何你玩遊戲的行動 遊戲窗口將竊取的焦點,這是由設計,但很煩人,如果你參與了任何你聊天遊戲,因爲當焦點丟失時,聊天將不再收到您的關鍵板擊。

我想要什麼: 一些方法來調度鍵盤事件,以一個JTextField這不再是焦點所有者(以及在不同的窗口/ JFrame的不是當前的焦點所有者)。有沒有辦法做到這一點?如何?

計劃b將在聊天中設置某種計時器,並讓該窗口拒絕放棄焦點,直到自聊天中最後一次擊鍵後經過了一段時間,但可能並不正確因爲您的行動時間已經很有限,所以焦點開關已關閉

+0

你的描述看起來像一個'不可行的GUI'。我憐憫那些被迫處理這種混亂的用戶。 – 2011-02-15 02:17:40

+0

夥計..詳細說明一下嗎?我自然沒有給出有關該應用程序的所有細節,如果你誤解了某些內容,該怎麼辦?這不是對別人的工作或想法建立起個人意見的地方。如果你沒有任何建設性的話,那麼保持關閉。我真的很驚訝地看到像你這樣的人在你的評論級別上發表評論。這是所有這一切的真正可惜。 – 2011-02-17 10:18:32

回答

0

我可能找到了我在找的東西here。如果我嘗試使用它,或者我們將改變要求,則仍然有待觀察:)

請參閱this link以查找有關如何將KeyEvents重新分配給任何文本組件的工作SSCCE。

0

你可以通過調用設置當前聊天窗口的真實而有在聊天文本字段中的文本alwaysOnTop

java.awt.Window 
public final void setAlwaysOnTop(boolean alwaysOnTop) 
         throws SecurityException 

當用戶按下回車鍵,或者發送按鈕點擊重置alwaysOnTop所以其他窗口所能鋼焦點。

相關問題