簡體   English   中英

將JTextField的值寫入另一個類(JAVA)中類型為String的變量

[英]Write the value of a JTextField to a variable of type String from another class (JAVA)

我很難在屬於類2的String類型的變量中記錄鍵入到屬於類1的JTextField中的值,例如,當我按下按鈕時,在JTextField類1中鍵入單詞“ Test”類1,我希望在JTextField類1中輸入的值記錄在類2中的變量類型String上,所以我可以根據需要使用此變量,您能幫我嗎? 我試圖創建一個類為1的對象,並使用getText和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){         

    }
}

謝謝

IIRC,您想將Class2中的變量(以它的名字命名)設置為Class1中JTextField的值嗎?

只需向Class2添加public(!)方法,該方法將String作為參數並將s的值設置為給定的String。
在Class1中,只需為按鈕創建一個ActionListener即可,該按鈕使用JTextField的值作為參數調用Class2的公共方法。

如果您要在問題中加入代碼示例 ,我們可以為您提供更多幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM