简体   繁体   中英

How to pass a variable value from one JFrame to Another JFrame in Netbeans

I have two JFrames login.java and account.java
I need to get the username from the login.java page and put it in a variable in the account.java JFrame . How can I do this in the Java NetBeans using the Swing?

Instead of Using JFrames for passing values between different forms you can use CardLayout which will persist your data which you have entered in the previous form. All you have to do is Create a JFrameForm and add panels to it.

You can use getter and setter methods...

Set the username in a setter. And using object of login.java use it in account.java through getter...

public class login {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = this.usernameTextField.getText();
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = this.passwordTextField.getText();
    }
}

Using objects of login.java access getPassword() , getUsername() in account.java. you need to pass object of login.java to account.java first...

Since you have asked how to pass a variable value from one JFrame to Another JFrame (using swing). So for this put one textbox(tx) and a button(jButton3) in login.java and one label(lx) in account.java where we will print the value of the textbox from login.java .

Type this in login.java :-

 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      String msg= tx.getText();
      new NewJFrame2(msg).setVisible(true);
    } 

Then overload constructor in account.java :-

public NewJFrame2(String abc ){
        initComponents();
        lx.setText(abc);
    }

Well you have very nice way to do it.

Define new Static Final Objects of that class. and Save that value into the Object.

and in other Class u can easily use that objects and as well as that values. By using

CLASSNAME.OBJECT VALUE.

use that.

The 100% working solution. Suppose ur calling welcome.java

Account ac= new Account(new JFrame(), true);

After this line call a method of welcome.java which u have to create like:

wc.setUser(username);

For account.java

create a method:void setUser(String username) {
        user1 = user; 
        cname.setText(user1);
    }

User1 is global variable and available for all which u have to define lke:

String user1;

after it is assigning the username value to user1. here cname is a label which name is cname; so, we are seeting the text of cname to the user.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM