2つのJFramelogin.Java
とaccount.Java
がありますlogin.Java
ページからusername
を取得し、それをaccount.Java
JFrame
の変数に入れる必要があります。 Swingを使用してJava NetBeansでこれを行うにはどうすればよいですか?
異なるフォーム間で値を渡すためにJFrameを使用する代わりに、前のフォームに入力したデータを保持するCardLayoutを使用できます。 JFrameFormを作成し、それにパネルを追加するだけです。
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に渡す必要があります。
ある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);
}
さて、あなたはそれを行うための非常に素晴らしい方法を持っています。
新しい静的を定義そのクラスの最終オブジェクト。そしてその値をオブジェクトに保存します。
他のクラスでは、uはそのオブジェクトとその値を簡単に使用できます。を使用して
CLASSNAME.OBJECT VALUE。
それを使用してください。
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のテキストがユーザーに表示されています。