打开窗口时运行的Java方法

0 java user-interface swing show jframe

我需要设置一个侦听器,每次调用一个方法show()来显示窗口时都可以调用一个方法.我怎样才能做到这一点?

wch*_*gin 6

你可能会感兴趣WindowListener.

教程"如何编写窗口监听器":

以下窗口活动或状态可以在窗口事件之前:

  • 打开一个窗口 - 第一次显示一个窗口.
  • 关闭窗口 - 从屏幕上删除窗口.
  • 图标化窗口 - 将窗口缩小为桌面上的图标.
  • 对窗口进行去屏蔽 - 将窗口恢复为原始大小.
  • 聚焦窗口 - 包含"焦点所有者"的窗口.
  • 激活的窗口(框架或对话框) - 此窗口是聚焦窗口,或拥有聚焦窗口.
  • 停用窗口 - 此窗口失去焦点.有关焦点的更多信息,请参阅AWT焦点子系统规范.

如果您不想实现所有这些,可以使用a WindowAdapter,如下所示:

myFrame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowOpened(WindowEvent we) {
        System.out.println("this window was opened for the first time");
    }

    @Override
    public void windowActivated(WindowEvent we) {
        System.out.println("this window or a subframe was focused");
    }
});
Run Code Online (Sandbox Code Playgroud)