web-dev-qa-db-ja.com

Netbeansで1つのJFrameから別のJFrameに変数値を渡す方法

2つのJFramelogin.Javaaccount.Javaがあります
login.Javaページからusernameを取得し、それをaccount.JavaJFrameの変数に入れる必要があります。 Swingを使用してJava NetBeansでこれを行うにはどうすればよいですか?

6
user1225502

異なるフォーム間で値を渡すためにJFrameを使用する代わりに、前のフォームに入力したデータを保持するCardLayoutを使用できます。 JFrameFormを作成し、それにパネルを追加するだけです。

4
Neo

Getterメソッドと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に渡す必要があります。

4
Vinay

あるJFrameから別のJFrameに変数値を渡す方法を尋ねたので(swingを使用)。したがって、このために、login.Javaに1つのテキストボックス(tx)とボタン(jButton3)を配置し、account.Javaに1つのラベル(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);
    }
1
Ankur pandey

さて、あなたはそれを行うための非常に素晴らしい方法を持っています。

新しい静的を定義そのクラスの最終オブジェクト。そしてその値をオブジェクトに保存します。

他のクラスでは、uはそのオブジェクトとその値を簡単に使用できます。を使用して

CLASSNAME.OBJECT VALUE。

それを使用してください。

0
Krishna

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のテキストがユーザーに表示されています。

0
user7621988