我正在使用java,我有一个视图类和另一个试图从视图类的textfield获取字符串的类。这是我的视图类:
public class LoginView extends JFrame {
private static final long serialVersionUID = -7284396337557548747L;
private JTextField nameTxt = new JTextField(10);
private JTextField passwordTxt = new JTextField(10);
private JButton loginBtn = new JButton("Giriş");
public LoginView() {
JPanel loginPanel = new JPanel();
this.setSize(600,200);
this.setLocation(600, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
loginBtn.setBounds(200, 270, 100, 50);
loginPanel.add(nameTxt);
loginPanel.add(passwordTxt);
loginPanel.add(loginBtn);
this.add(loginPanel);
}
public void LoginBtnListener(ActionListener btnListener) {
loginBtn.addActionListener(btnListener);
}
public String getName() {
return nameTxt.getText();
}
我的actionlistener和其他类方法工作正常但我的“getName()”方法返回null,即使我的nameTxt textField不为空。
我是java的新手,所以我很抱歉,如果这是一个简单的问题,但我花了很多时间。谢谢你
答案 0 :(得分:1)
public class LoginView extends JFrame implements ActionListener {
private static final long serialVersionUID = -7284396337557548747L;
private JTextField nameTxt = new JTextField(10);
private JTextField passwordTxt = new JTextField(10);
private JButton loginBtn = new JButton("Giriş");
public LoginView() {
JPanel loginPanel = new JPanel();
this.setSize(600,200);
this.setLocation(600, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
loginBtn.setBounds(200, 270, 100, 50);
loginPanel.add(nameTxt);
loginPanel.add(passwordTxt);
loginPanel.add(loginBtn);
this.add(loginPanel);
this.setVisible(true);
loginBtn.addActionListener(this);
}
public String getName() {
return nameTxt.getText();
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(getName());
}
}
我错过了你的听众电话,所以我加了它。这打印出预期的结果。我也错过了你的setVisible调用。