2014-09-16 3 views
0

я использую Java и у меня есть класс представления и другой класс, который пытается получить строку из textfield.Here зрения класса мой взгляд класс:получение строки из текстового поля

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, даже если myTextField не пусто.

Я новичок в Java, так я извиняюсь, если это простой вопрос, но он принял мое время действительно much.Thank вы

+0

Если ответ исправил вашу проблему, подумайте о принятии этого конкретного ответа. – stealthjong

ответ

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.

Смежные вопросы