在Java类的帮助下,尝试将数据从一个jFrame传输到另一个jFrame
我正在尝试使用单独的java类将一个jFrame中获取的电子邮件和密码数据传输到另一个jFrame中都在同一个包中。非常感谢您的帮助,这是我的第一个问题,因此不知道要提及的具体细节,如果您需要,请告诉我 LoginForm.java(第1个jFrame) 此处存在数据操作的部分字符串邮件,传递有电子邮件和密码数据在Java类的帮助下,尝试将数据从一个jFrame传输到另一个jFrame,java,encapsulation,Java,Encapsulation,我正在尝试使用单独的java类将一个jFrame中获取的电子邮件和密码数据传输到另一个jFrame中都在同一个包中。非常感谢您的帮助,这是我的第一个问题,因此不知道要提及的具体细节,如果您需要,请告诉我 LoginForm.java(第1个jFrame) 此处存在数据操作的部分字符串邮件,传递有电子邮件和密码数据 if(op==true) { JOptionPane.showMessageDialog(null, "Login Successf
if(op==true) {
JOptionPane.showMessageDialog(null, "Login Successful!", "WebApp Database Login",
INFORMATION_MESSAGE);
DataTransfer dt=new DataTransfer(); // Setting instance of DataTransfer class
//to pass on Mail and Password details
dt.setEmail(mail);
dt.setPassword(pass);
InfoDisplay id=new InfoDisplay();
id.setVisible(true);
}
DataTransfer.java
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
} }
public class LoginForm {
public static void main(String[] args) {
DataTransfer dataTransfer = new DataTransfer();
dataTransfer.setEmail(mail);
dataTransfer.setPassword(pass);
InfoDdisplay infoDdisplay = new InfoDdisplay(dataTransfer);
}
}
public class InfoDisplay {
public InfoDisplay(DataTransfer dt) {
//Displaying Current Date and Time
//Getting the Stored details of Mail and Password from DataTransfer class
String finalEmail = dt.getEmail();
String finalPass = dt.getPassword();
System.out.println("Email: " + finalEmail);
System.out.println("Password: " + finalPass);
}
}
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
}
}
InfoDisplay.java(第二帧)
//建造师
public InfoDisplay() {
initComponents();
//Displaying Current Date and Time
Calendar cl=Calendar.getInstance();
String datetime=cl.getTime().toString();
jLabel5.setText(datetime);
//Getting the Stored details of Mail and Password from DataTransfer class
DataTransfer dt=new DataTransfer();
String finalEmail=dt.getEmail();
String finalPass=dt.getPassword();
System.out.println("Email: "+finalMail);
System.out.println("Password: "+finalPass); }
我使用打印命令只是检查它们是否被正确分配。我只从LoginForm.java运行该程序,数据存储在DataTransfer.java中,但它显示电子邮件:空值和密码:InfoDisplay()中的空值。我使用了它 LoginForm.java
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
} }
public class LoginForm {
public static void main(String[] args) {
DataTransfer dataTransfer = new DataTransfer();
dataTransfer.setEmail(mail);
dataTransfer.setPassword(pass);
InfoDdisplay infoDdisplay = new InfoDdisplay(dataTransfer);
}
}
public class InfoDisplay {
public InfoDisplay(DataTransfer dt) {
//Displaying Current Date and Time
//Getting the Stored details of Mail and Password from DataTransfer class
String finalEmail = dt.getEmail();
String finalPass = dt.getPassword();
System.out.println("Email: " + finalEmail);
System.out.println("Password: " + finalPass);
}
}
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
}
}
InfoDisplay.java
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
} }
public class LoginForm {
public static void main(String[] args) {
DataTransfer dataTransfer = new DataTransfer();
dataTransfer.setEmail(mail);
dataTransfer.setPassword(pass);
InfoDdisplay infoDdisplay = new InfoDdisplay(dataTransfer);
}
}
public class InfoDisplay {
public InfoDisplay(DataTransfer dt) {
//Displaying Current Date and Time
//Getting the Stored details of Mail and Password from DataTransfer class
String finalEmail = dt.getEmail();
String finalPass = dt.getPassword();
System.out.println("Email: " + finalEmail);
System.out.println("Password: " + finalPass);
}
}
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
}
}
DataTransfer.java
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
} }
public class LoginForm {
public static void main(String[] args) {
DataTransfer dataTransfer = new DataTransfer();
dataTransfer.setEmail(mail);
dataTransfer.setPassword(pass);
InfoDdisplay infoDdisplay = new InfoDdisplay(dataTransfer);
}
}
public class InfoDisplay {
public InfoDisplay(DataTransfer dt) {
//Displaying Current Date and Time
//Getting the Stored details of Mail and Password from DataTransfer class
String finalEmail = dt.getEmail();
String finalPass = dt.getPassword();
System.out.println("Email: " + finalEmail);
System.out.println("Password: " + finalPass);
}
}
public class DataTransfer {
private String loginEmail;
private String loginPassword;
public String getEmail() {
return loginEmail;
}
public String getPassword() {
return loginPassword;
}
public void setEmail(String email) {
loginEmail=email;
System.out.println("Stored Mail: "+loginEmail);
}
public void setPassword(String password) {
loginPassword=password;
System.out.println("Stored Pass: "+loginPassword);
}
}
不要在
InfoDisplay
中构造新的DataTransfer
。您需要在LoginForm
和InfoDisplay
之间共享对同一DataTransfer
实例的引用。您可以通过InfoDisplay id=newinfodisplay(dt)
@c0der来实现这一点。谢谢您的帮助。起初我很困惑,现在很清楚,创建新实例是错误的,因为新实例基本上认为它是一个新的参考权利!哇,真管用:)谢谢,现在我得到了我想要的东西。我认为在InfoDisplay()中再次创建新实例是我的错误代码>至新信息显示(数据传输)
因为从未使用过infoDdisplay
。@c0如果是,我会这样做。再次感谢。