我很难将键入的值记录到属于类2的变量类型的属于类2的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){
}
}
谢谢
答案 0 :(得分:0)
只需向Class2添加一个public(!)方法,该方法将String作为参数,并将s的值设置为给定的String。
在Class1中,只需为按钮创建一个ActionListener,它以JTextField的值作为参数调用Class2的公共方法。
如果您在问题中加入code sample,我可以为您提供更多帮助。