【问题标题】:JFrame, intercept event when is showedJFrame,显示时拦截事件
【发布时间】:2013-08-07 05:28:39
【问题描述】:

我有一个包含动态内容的 JFrame 和

my_frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

框架仅在用户按下 JButton 时显示,并且 my_frame 类仅包含一个构造函数(用于第一次调用)和一个用于刷新其内容的 refresh 方法。 现在我希望当 JFrame 再次变得可见时,my_frame 拦截事件并自动调用刷新方法。我该怎么做?

【问题讨论】:

标签: java swing events jframe


【解决方案1】:

现在我希望当 JFrame 再次变得可见时,my_frame 拦截事件并自动调用刷新方法。怎么能 我做吗?

  • 好概念,重用一个Top-Level Container

  • 我建议使用JDialog(parent) 而不是JFrame

  • 你可以调用my_frame.setVisible(true),假设my_frame被声明并初始化为变量

  • Window[] wins = Window.getWindows();返回Top-Level Container的数组,在这个数组的循环内你可以测试if (wins[i] instanceof JFrame) {,然后调用wins[i].setVisible(true);

【讨论】:

  • 谢谢。我发现为了做我需要的事情,只需添加一个 ComponentListener 并使用 ComponentAdapter 的 componentShown 方法来处理事件。
猜你喜欢
  • 2011-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
  • 2015-11-05
  • 2021-06-27
  • 2019-06-04
相关资源
最近更新 更多