我用 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();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
在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);
Run Code Online (Sandbox Code Playgroud)
这就是构造函数的目的。由于您创建了一个新类 Main_Window,因此您应该在其中包含在创建主窗口期间要运行的代码。虽然您当前对 Main_Window 类的定义不存在,但它会是这样的。
public class Main_Window extends ?Frame implements ? {
// members
// constructor
Main_Window(){
//do some stuff here
}
// methods
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5665 次 |
| 最近记录: |