0

クラス 1 に属する JTextField に入力された値を、クラス 2 に属する String 型の変数に記録するのは非常に困難です。たとえば、ボタンを押したときに JTextField クラス 1 に「Test」という単語を入力するとclass 1, JTextField class 1 に入力された値を class 2 の変数型 String に記録したいので、この変数を自由に使用します。クラス 1 のオブジェクトを作成し、getText と to String を使用しようとしましたが、まだ成功していません。class2 で System を見ると、結果は NULL です! :(

ありがとうございました。

コード :

public class Class1 extends javax.swing.JFrame {

    public Class1() {    
        initComponents();    
    }    
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          

    private void initComponents() {
        fieldOfClass1 = new javax.swing.JTextField();    
        bottonOfClass1 = new javax.swing.JButton();    
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);    
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());    
        getContentPane().add(fieldOfClass1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 39, 336, 38));    
        bottonOfClass1.setText("Botton");    
        bottonOfClass1.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {    
                bottonActionPerformed(evt);    
            }    
        });

        getContentPane().add(bottonOfClass1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 114, 161, 45));
        pack();

    }// </editor-fold>  
    private void bottonActionPerformed(java.awt.event.ActionEvent evt) {                                       

Class2 classTwo = new Class2();

    classTwo.receiveFieldValueOfClass1= returnField();
        System.out.println(classTwo.receiveFieldValueOfClass1);
    } 

    String returnField(){    
      return fieldOfClass1.getText().toString();
    }    

    public static void main(String args[]) {
         new Class1().setVisible(true);
    }

    // Variables declaration - do not modify  
    private javax.swing.JButton bottonOfClass1;
    private javax.swing.JTextField fieldOfClass1;
    // End of variables declaration
}

クラス 2 :

public class Class2 {

    public String receiveFieldValueOfClass1;

    Class2(){
        System.out.println("This is a valor of Jtext Field Class 1 ! = "+receiveFieldValueOfClass1);
    } 

    public static void main (String[]args){         

    }
}

ありがとう

4

1 に答える 1

0

IIRC、Class2 の変数 (名前を付けましょう) を Class1 の JTextField の値に設定しますか?

Class2 に public(!) メソッドを追加するだけです。このメソッドは String を引数として取り、s の値を指定された String に設定します。
Class1 では、JTextField の値を引数として Class2 の public メソッドを呼び出すボタンの ActionListener を作成するだけです。

質問にコード サンプルを含めていただければ、さらにお役に立ちます。

于 2013-10-18T22:59:38.120 に答える