【问题标题】:Stop a jframe requesting focus停止请求焦点的 jframe
【发布时间】:2009-11-05 10:53:52
【问题描述】:

我有一个小应用程序,它非常快速地更新 JFrame 的内容(每秒多次),并且在每次更新时(我删除一个组件,然后添加一个新组件,然后再次将可见性设置为 true)JFrame 在任务栏 (WinXp) 请求焦点。这很烦人,我相信它可以被禁用。我就是不知道在哪里。

有什么想法吗?

【问题讨论】:

    标签: java swing focus jframe


    【解决方案1】:

    我理解正确吗

    你做了类似的事情

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

    不要这样做尝试使用

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

    【讨论】:

    • 我的挥杆生锈了,但不应该是 invalidate() 吗?
    • 想解释一下为什么?只有 JFrame 的子组件发生了变化。为什么要将 JFrame 本身及其所有父级标记为无效?
    【解决方案2】:

    我删除了一个组件,然后添加了一个 新的,

    更好的解决方案是简单地更新现有组件。 Swing 组件旨在在属性和数据发生更改时重新绘制它们自己。

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多