2009-11-05 36 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组件旨在在属性和数据发生更改时重新绘制自己的组件。