Java 当我更改屏幕时如何处理
我尝试构建2个类:LoginScreen类和MainScreen类 当我运行程序时,它会首先显示登录屏幕,然后我使用用户名和密码登录。主屏幕会弹出,但登录屏幕不会消失。我不知道如何正确处理它 因为我使用的方法是 已执行的公共无效操作(操作事件e){ 字符串cmd=e.getActionCommand() }Java 当我更改屏幕时如何处理,java,swing,Java,Swing,我尝试构建2个类:LoginScreen类和MainScreen类 当我运行程序时,它会首先显示登录屏幕,然后我使用用户名和密码登录。主屏幕会弹出,但登录屏幕不会消失。我不知道如何正确处理它 因为我使用的方法是 已执行的公共无效操作(操作事件e){ 字符串cmd=e.getActionCommand() } 我知道这是一个愚蠢的代码,也是实现它的错误方法,但是你能指导我做一个合适的吗。我想这个方法是你第一个屏幕的方法,它必须是JDialog或JFrame。只需调用setVisible(false
我知道这是一个愚蠢的代码,也是实现它的错误方法,但是你能指导我做一个合适的吗。我想这个方法是你第一个屏幕的方法,它必须是JDialog或JFrame。只需调用
setVisible(false)
隐藏帧(如果不再使用该对话框,也可以调用dispose()
)
另外,您不应该在JFrameExample上调用main方法。主方法通常用于启动新的应用程序。只需从动作侦听器执行main方法所做的操作(可能是newjframeexample().setVisible(true)
)
最后,事件侦听器总是在事件分派线程(EDT)中调用,因此从事件侦听器中使用SwingUtilities.invokeLater
没有意义
总而言之,代码应该是这样的:
if (isPasswordCorrect(input)) {
setVisible(false); // or dispose();
JFrame mainFrame = new JFrameExample();
mainFrame.setVisible(true);
}
非常感谢您,但在我做之前,我必须先做b.getParent().getParent().getParent().getParent().getParent().setVisible(false);这对我来说很有趣:D
if (isPasswordCorrect(input)) {
setVisible(false); // or dispose();
JFrame mainFrame = new JFrameExample();
mainFrame.setVisible(true);
}