私は初めて javax.swing と jframes を使用しているので、この質問が原始的であると思われる場合はご容赦ください。
問題: 私のメイン関数で、クラスのオブジェクトを作成しました。たとえば、ClassTest. したがって、コードは次のようになります。
import TestPackage.ClassTest.*;
public class Qinterface extends JFrame and implements ActionListener
{
public string Login;
public static void main(String[] args){
ClassTest test = new ClassTest();
try{ eventqueue invoker ...}catch{}
}
Qinterface(){
setResizable(false);
setTitle("Carrefour : Qualys Application");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(300, 100, 850, 500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
txtEnterText = new JTextField();
txtEnterText.setText("Enter Qualys Login");
txtEnterText.setBounds(10, 193, 166, 23);
contentPane.add(txtEnterText);
txtEnterText.setColumns(10);
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent eSubmit)
{
//button is pressed
System.out.println("You clicked the button Submit");
Login = txtEnterText.getText();}});
}
}
コードの最後の行に見られるように、txtEnterText フィールドから値を取得し、ローカル変数「Login」に割り当てることができます。しかし、たとえば、この値をメイン関数で作成されたクラスのインスタンスに割り当てたい場合はどうすればよいですか。
test.x=txtEnterText.getText();
Qinterface クラスのコンストラクターにあり、メインでインスタンス化された ClassTest の変数が表示されないため、このアプローチでは不可能であることを私は知っています。
したがって、質問は一般的で概念的なものです。javax.swing でコーディングする場合、そのような種類の問題を解決するにはどうすればよいですか?