所以,让我说我有3个文件。
Accounts.java(帐户类)
loginGUI.java(JForm)
displayAccountGUI.java(JForm)
当我登录时,我输入了CustomerID,Pin和帐号。然后程序检查我输入的3个值是否在accounts.txt。
中我在两个Jframe中都有Account a = new Account();
。
在displayAccount.java
我想显示loginGUI.java
中使用a.setId(ID);
存储在Account.java中的帐号,但因为Account a = new Account();
中有displayAccount.java
之前设置的值因创建新帐户而被删除。
有什么方法可以用其他方式访问这个值吗?
答案 0 :(得分:1)
一旦您验证了用户凭据,就可以创建一个"会话" object,它封装了您需要共享的信息。它可能是"客户ID"和"帐户名称"信息或它可以是Account
类的实例。
将此传递给您的displayAccount
课程(删除Account a = new Account();
并使用传递的参考资料)
如何实现这一切取决于您如何构建代码。我个人而言,我有一种显示登录对话框的控制器。当对话框被解除时,我将验证凭据,如果失败则显示错误消息。如果他们成功了,我会创建Account
类的新实例(假设它包含有关客户端的足够信息),我创建了"帐户视图",传递Account
的实例
这是一个相对基本的编程概念,请考虑查看Passing Information to a Method or a Constructor
答案 1 :(得分:1)
我相信你可以为displayAccountGUI
创建一个新的构造函数并将Account
作为参数传递。这是有道理的,因为将来您可能需要displayAccountGUI
中帐户的更多信息,例如照片或其他内容。
答案 2 :(得分:1)
由于我还没有添加评论的权限,我将在此处发布。我只知道有两种方法可以达到你想要的目的,以获得理想的结果。
通过构造函数传递值
public displayAccount(Account a){this.a = a;}
使用setter方法
public void setAccount(Account a){this.a = a;}