Re: [問題] 可以知道Focus不在了嗎?

看板java作者 (叔叔你人真好)時間16年前 (2009/04/09 14:28), 編輯推噓3(303)
留言6則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《zeat (Lucifer)》之銘言: : 標題: [問題] 可以知道Focus不在了嗎? : 時間: Thu Apr 9 11:35:42 2009 : : 各位: : 我搜尋過好像沒有相關的文章. : 想請問一種情形. : 假設我點了一個textfield, 理論上算是focus在上面. : 假設這時我又點了其他地方, e.g. JFrame or JLable or JPanel. : 理論上這時focus應該就算消失了吧, : 那我該如何取得消失了的focus或是有沒有focus轉移到其他地方的event? : 因為我想要在focus消失時, 讓textfield設成unenlabed. : 謝謝, m(_ _)m. : → zeat:thanks a lot. :) 04/09 11:52 : 我剛剛試了FocusListener的focusLost方法, : 但沒有辦法達到我的要求@@ : 假設我點了textfield再去點JList或點我有實作click的JLabel的確會觸發事件, : 但是我點JFrame或沒有實作click的JLabel便沒有辦法觸發, : 有辦法可以解決後者嗎? : thanks a lot. 理論上當你的 focus 在 JTextfield 上而你 click JLabel 時, Focus 還是在 JTextfield 上,因為 focus 不會轉到 JLabel 上。 (你看到 caret 還是很頑皮地在 JTextfield 上閃動便知道 focus 沒有離開) 當然你可以硬幹... 就是在所有 Frame 上加一個 MouseListener implement mouseClicked(MouseEvent) method, 在裡面檢查 Clicked component 是否 JTextfield 本身。 (沒有實作 click event 的 component 都會把 event propagate 到 parent 所以 click 到 JLabel 上時會把 mouseevent 傳到它的 JFrame 去) (這個方法, click frame 的 title bar 好像還是沒有作用) -- 勁過呂布的勁過相簿... http://www.pixnet.net/superlubu 亂七八糟的,不好意思 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 147.8.127.102 ※ 編輯: superlubu 來自: 147.8.127.102 (04/09 14:28)

04/09 16:40, , 1F
我也想過硬幹的方式XD 可是不知道有沒有更好的= =+
04/09 16:40, 1F

04/09 17:06, , 2F
我剛剛試過將this(JFrame)加進click事件...結果更糟了Orz...
04/09 17:06, 2F

04/09 17:08, , 3F
結果連我想要取得的textfield的foucs都會一併被取得(?)
04/09 17:08, 3F

04/09 17:09, , 4F
總之更怪了...O____Q
04/09 17:09, 4F

04/09 17:23, , 5F
看起來一個一個硬幹似乎OK= =+ 但是有個問題是JFrame的title
04/09 17:23, 5F

04/09 17:24, , 6F
bar 不行Orz... 這可以解嗎?
04/09 17:24, 6F
文章代碼(AID): #19tPMHv7 (java)
文章代碼(AID): #19tPMHv7 (java)