1
方法はありますか、またはスタンドアロンクラスとしてactionListenerを作成することは可能ですか? 私は、ボタンリスナーをloginViewクラスで作成することができますが、それは完璧に動作しますが、私が試みているのは別のクラス(LoginLogic)からログイン機能を実現することです。スタンドアロンクラスからJTextBoxの空の値を返す
私がprintlnを試みたときに直面した問題は、何も返されませんでした。
loginView.java
loginLogic lg1 = new loginbtn
final JTextField user;
JButton login = new JButton("test");
user = new JTextField;
..
..
..
panel.add(lg1.loginBtn(user.getText()), cs)
// ---- This will work but i am trying to load the function from loginLogic----
// login.addActionListener(new ActionListener(){
// @Override
// public void actionPerformed(ActionEvent arg0){
// String userText = user.getText();
// System.out.println(username);
// });
}
loginLogic.java
..
public class loginLogic{
public Component loginbtn(String username){
JButton login = new JButton("submit");
login.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0){
System.out.println(username);
});
return login;
}
}
は、事前にありがとう:)以下のような
1)、[MCVE]を投稿したり、 [短い、自己完結型、正しい例](http://www.sscce.org/)。 2)インデントするコード行とブロックの論理的で一貫した形式を使用します。インデントは、コードの流れをより簡単にするためのものです。 3)** Stringbテキストを 'loginbtn'メソッドに提供するだけでなく、テキストフィールドへの参照を渡すこともできます** 4)一般的なJava命名法(命名規則 - 例えば' EachWordUpperCaseClass'、 'firstWordLowerCaseMethod ) '、' firstWordLowerCaseAttribute'が 'UPPER_CASE_CONSTANT'でなければ)それを一貫して使用してください。 –