2016-06-24 16 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と関係がありますが、ポジティブではないと思います。私のオラクルのチュートリアルはわかりにくいです。JTextFieldでJButtonを押しても機能しない

出力は、私が作成したコンテナではなく、コンソールに必要なテキストを印刷しています。あなたのコードをチェックした後、あなたがmain関数の最後にmyGUI.setVisible(true);を置くべき :

答えて

0

JTextField textField = new JTextField("Hello GUI World!");はそれをmyGUI.add(textField);

EDITを使用する前に宣言しなければなりません。私のために、このように動作します。 enter image description here

+0

私はmyGUI.add(textField)を配置しました。 JTextFieldの後にtextField =新しいJTextField( "Hello GUI World!");それでも "Hello GUI World!"だけが表示されます。ボタンの上にあるテキストボックスには表示されません。 – frankie3552

+0

私は下部に置いても問題ありませんが、前のボタンをクリックしない限り、テキストボックスはポップアップ表示されます。私の問題はどこにありますか? – frankie3552

関連する問題