JButton压缩不适用于JTextField

时间:2016-06-24 02:34:16

标签: jbutton

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教程对我来说并不容易理解。

输出是在控制台中打印我想要的文本而不是我创建的容器。

1 个答案:

答案 0 :(得分:0)

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

之前声明

编辑: 检查完代码后,您应该将myGUI.setVisible(true);放在main函数的末尾。对我来说,它就是这样的。enter image description here