2017-04-05 154 views
0

我是,试图做一个小应用程序,现在我需要从JTextField采取一些数据,当我按下某个按钮。问题是,当我按下按钮时,没有任何反应..我用println("yes")s working printing "yes' on ActionListener`测试了它。我该怎么办 ?JText .getText()不返回任何内容?

下面是部分代码:

label = new Label("Width:"); 
label.setMaximumSize(new Dimension(40, 25)); 
this.add(label); 

textField = new TextField(); 
textField.setPreferredSize(new Dimension(80, 25)); 
textField.setMaximumSize(new Dimension(80, 25)); 
this.add(textField); 

button = new JButton("Submit"); 
button.addActionListener(new ActionListener() { 

    @Override 
    public void actionPerformed(ActionEvent e) { 

     System.out.println(textField.getText()); // <- here textField.getText() does not return anything. 
    } 
}); 
this.add(button); 

回答

2

我不知道你用的是什么成分,但我认为你有一个组件声明一个问题,它应该是:

textField = new JTextField(); 
label = new JLabel("Width:"); 

而不是:

textField = new TextField(); 
label = new Label("Width:"); 

     JTextField() and not TextField() 
//----^--------------------^--------------- 
1

的TextField是AWT的一部分

textField = new TextField(); 

通过这个构造函数,显示的指定文本是“”。

来自getText()返回包含在此TextComponent中的文本,以便获取“”字符串。

JTextField是通过此构造摆动

textField = new JTextField(); 

的一部分,以显示初始字符串为null

getText()返回文本包含在此TextComponent所以你得到空。

相关问题