Search code examples
javaencapsulation

Trying to transfer data from one jFrame to another jFrame with the help of a Java Class


I am trying to transfer a email and password data taken in one jFrame to another using a separate java Class. All are in same Package. Any help is much appreciated, this is my first question so don't know the proper specifics to mention so let me know if you require.

LoginForm.java (1st jFrame)

Part where the data manipulation is present here String mail,pass; have email and password data

    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);
        } }

InfoDisplay.java (2nd jFrame)

//Constructor

    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); }

I have used Print commands to just check whether they are assigned properly or not. I am running the program from only LoginForm.java, and the data gets stored in DataTransfer.java but it shows Email: NULL and Password: NULL values in InfoDisplay()


Solution

  • I got it working with this....

    LoginForm.java

    public class LoginForm {
        public static void main(String[] args) {
            DataTransfer dataTransfer = new DataTransfer();
            dataTransfer.setEmail(mail);
            dataTransfer.setPassword(pass);
            InfoDdisplay infoDdisplay = new InfoDdisplay(dataTransfer);
        }
    }
    

    InfoDisplay.java

    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);
        }
    }
    

    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);
        } 
    }