2009-11-05 39 views
0

我有一個小應用程序,可以非常快速地(每秒多次)更新JFrame的內容,並且每次更新時(我刪除一個組件,然後添加一個新組件,然後再次將可見性設置爲true) JFrame在任務欄(WinXp)上閃爍以請求焦點。這非常煩人,我相信它可以被禁用。我只是找不到在哪裏。停止請求焦點的jframe

任何想法?

回答

4

難道我理解你正確

你這樣做

frame.remove(cold); 
frame.add(cnew); 
frame.setVisible(false); 
frame.setVisible(true); 

而不是做這種嘗試使用

frame.remove(cold); 
frame.add(cnew); 
frame.validate() 
+0

我的鞦韆是生鏽的,但不應該是無效的()? – 2009-12-20 21:19:28

+0

小心解釋爲什麼?只有JFrame的子組件發生了變化。爲什麼我應該將JFrame本身及其所有父母標記爲無效? – jitter 2009-12-21 07:57:27

2

我刪除組件,然後添加一個 新,

更好的解決方案是簡單地更新現有組件。 Swing組件旨在在屬性和數據發生更改時重新繪製自己的組件。