我正在研究RMI客户端服务器程序。对于我的客户端类,我想在启动客户端时有一个验证密码的窗口。如果密码错误,将显示弹出消息,如果正确,则需要关闭当前窗口,并且应显示另一个带有服务器选项的窗口。这种行为的代码就是这样的:
//Button for checking password - actionListener
if(!checkPass(btnLogin.getPassword())
JOptionPane.showMessageDialog(null,"ALERT MESSAGE",JOptionPane.WARNING_MESSAGE);
else
// do something so this window closes and a new window,
//with say one button for example, pop-ups
我该怎么办?当前代码只是具有远程方法的客户端的骨干,它还继承自jFrame
,它是当前的密码检查窗口。请记住,我正在尝试将所有客户端gui和功能保留在一个类中。这两个窗口应该是jPane
,我应该如何处理它们。我迷失在这里,欢迎任何形式的帮助:)
答案 0 :(得分:1)
您想尝试分离并分离责任。也就是说,登录视图不应再执行任何操作,然后从用户收集凭据并验证这些凭据。它不应该负责将用户移动到下一个视图,该责任属于您的应用程序(或控制器)的不同部分
JDialog
中。在您的主类中,您可以显示此对话框,它将阻止,直到对话框关闭(在对话框上调用dispose
)这是基于MVC的登录对话框的an example,虽然看起来很复杂,但在责任分离和引入Model-View-Controller范例
方面,这将是一个很好的教训。