我正在尝试访问 JTextField 内的文本。我的 JTextField 是在我的 TextFields 类中定义的,我尝试添加文本字段的面板也是在我的 Panels 类中定义的。我的问题是我无法访问在文本字段中输入的文本。即使我尝试将文本设置为“TEST”,我仍然得到 null
我应该在 TextField 类还是 Panels 类中执行 panel.add 操作吗? 关于我需要做什么有什么想法吗?
面板类:
package nameSorting;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JPanel;
public class Panels extends JComponent {
private JPanel north = new JPanel();
private JPanel south = new JPanel();
TextFields fields = new TextFields();
Buttons buttons = new Buttons();
ManipData addName = new ManipData();
public JPanel north(){
fields.firstNameField(north);
JButton save = buttons.addSaveName();
north.add(save);
save.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e){
System.out.println(fields.getFirstName());
}
});
return north;
}
public JPanel south(){
return south;
}
}
TextFields 类:
package nameSorting;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TextFields {
private JTextField inputFirstName = new JTextField();
private JTextField inputLastName = new JTextField();
private JTextField outPutFirstName = new JTextField();
private JTextField outPutLastName = new JTextField();
private JTextField showName = new JTextField();
private String getFirstName;
private String getLastName;
public TextFields(){
// here just in case I need it
}
public JTextField firstNameField(JPanel panel){
inputFirstName.setColumns(10);
inputFirstName.setText("TEST");
panel.add(inputFirstName);
return inputFirstName;
}
public void lastNameField(){
//north.add(inputLastName);
}
public void clearFields(){
inputFirstName.setText(null);
inputLastName.setText(null);
}
public String getFirstName(){
inputFirstName.getText();
return getFirstName;
}
public String getLastName(){
inputLastName.getText();
return getLastName;
}
public JTextField showNames(){
return showName;
}
}
最佳答案
public String getFirstName(){
inputFirstName.getText();
return getFirstName;
}
这应该是
public String getFirstName(){
return inputFirstName.getText();
}
并去掉 getFirstName
字段,该字段的命名也很糟糕。
关于java - getText() 出现为 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30157653/