2016-06-24 66 views
0
import java.awt.Color; 
import java.awt.FlowLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

public class guiDemo extends JFrame { 

public static void main(String[] args) { 

    JFrame myGUI = new guiDemo(); 
    myGUI.setSize(750, 600); 
    myGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    myGUI.setVisible(true); 

    JButton myButton = new JButton("Click Me"); 
    myButton.setSize(300, 150); 
    myGUI.add(textField); 
    myGUI.add(myButton); 
    myGUI.setLayout(new FlowLayout()); 

    JTextField textField = new JTextField("Hello GUI World!"); 



    myButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 

      String textInField = textField.getText(); 
      textField.setForeground(Color.BLUE); 
      System.out.println(textInField); 
      } 
     }); 
    } 
} 

我想要做的是當按鈕被按下顯示按鈕上方的JTextField中的文本。同時文本必須是藍色的。我不完全知道如何獲取按鈕上方的文本。我認爲這與JPanel有關,但並不積極。對我來說,oracle教程對我來說並不容易理解。JButton按下不能與JTextField

輸出結果是在控制檯中打印我想要的文本,而不是我創建的容器。

回答

0

JTextField textField = new JTextField("Hello GUI World!");必須使用它myGUI.add(textField);

編輯之前聲明: 檢查你的代碼後,你應該把myGUI.setVisible(true);main函數的末尾。對我來說,它是這樣的。 enter image description here

+0

所以我放了myGUI.add(textField);在JTextField textField = new JTextField(「Hello GUI World!」)之後;它仍然只打印「Hello GUI World!」在控制檯中,而不是在按鈕上方的文本框中。 – frankie3552

+0

我把它放在底部,這是好的,但文本框應該彈出,直到我點擊按鈕之前。我的問題在哪裏? – frankie3552