gpt4 book ai didi

java - 如何在 java 中加载窗口(jframe)时运行一些代码?

转载 作者:行者123 更新时间:2023-11-30 08:18:51 26 4
gpt4 key购买 nike

我用 Java 编写了一个程序,它有两个窗口 (JFrames):

a) 登录窗口,

b) 主窗口。

“登录窗口”调用“主窗口”然后关闭。

如何在加载“主窗口”时运行一些代码(仅在“主窗口”框架首次打开时运行一次代码)?

我在“主窗口”的 main() 方法中尝试了以下代码,但它不起作用...

Main-Window.java 文件中的代码:

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {
public void run() {
try {

final Main_Window frame = new Main_Window();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

frame.addWindowListener(new WindowAdapter() {
public void windowOpened(WindowEvent e) {
runSomeCode();
}
});

} catch (Exception e) {
e.printStackTrace();
}

}

});

}

runSomeCode(); 永远不会执行...

“登录窗口”关闭调用“主窗口”的方式是这样的:

Log-in-Window.java 文件中的代码:

Main_Window mw = new Main_Window();
mw.setLocationRelativeTo(null);
mw.setVisible(true);

WindowEvent winCloseEvent = new WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(winCloseEvent);

最佳答案

这就是构造函数的目的。由于您已经创建了一个新类 Main_Window,因此您应该在其中包含在创建主窗口期间要运行的代码。虽然您当前对 Main_Window 类的定义不存在,但它应该是这样的。

public class Main_Window extends ?Frame implements ? {
// members

// constructor
Main_Window(){
//do some stuff here
}

// methods
}

关于java - 如何在 java 中加载窗口(jframe)时运行一些代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27175687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com