2017-04-05 174 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所以你得到空。

相關問題