如何将变量值从一个JFrame传递到Netbeans中的另一个JFrame

时间:2012-03-23 06:17:50

标签: java swing netbeans jframe

我有两个JFrame login.javaaccount.java
我需要从username页面获取login.java并将其放入account.java JFrame中的变量中。如何使用Swing在Java NetBeans中执行此操作?

5 个答案:

答案 0 :(得分:3)

您可以使用getter和setter方法......

在setter中设置用户名。并使用login.java的对象在account.java中通过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();
    }
}

使用login.java中的对象访问account.java中的getPassword()getUsername()。 你需要首先将login.java的对象传递给account.java ...

答案 1 :(得分:3)

您可以使用CardLayout代替使用JFrame在不同表单之间传递值,而CardLayout将保留您在上一个表单中输入的数据。 您所要做的就是创建一个JFrameForm并向其添加面板。

答案 2 :(得分:1)

因为您已经询问如何将变量值从一个JFrame传递到另一个JFrame(使用swing)。所以为此,在login.java中放置一个文本框(tx)和一个按钮(jButton3),在account.java中放置一个标签(lx),我们将从login.java中打印文本框的值。

在login.java中输入: -

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

然后在account.java中重载构造函数: -

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

答案 3 :(得分:0)

你有很好的方法去做。

定义该类的新静态最终对象。 并将该值保存到Object中。

并且在其他类中,您可以轻松地使用该对象以及该值。 使用

CLASSNAME.OBJECT VALUE。

使用它。

答案 4 :(得分:-1)

100%可行的解决方案。假设您正在调用welcome.java

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

在这行之后调用welcome.java的方法,你必须创建像:

wc.setUser(username);

对于account.java

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

User1是全局变量,可供所有人使用lke:

String user1;

将用户名值分配给user1之后。这里cname是一个名称为cname的标签;所以,我们将cname的文本发送给用户。