Java 为什么不是';我的JFrame里没有显示任何东西吗?

Java 为什么不是';我的JFrame里没有显示任何东西吗?,java,user-interface,Java,User Interface,为什么我的GUI不显示任何按钮、标签或文本字段 我想我已经全部设置好了,但是当我运行它时,只有框架显示,没有任何内容出现 package BasicGame; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.s

为什么我的GUI不显示任何按钮、标签或文本字段

我想我已经全部设置好了,但是当我运行它时,只有框架显示,没有任何内容出现

package BasicGame;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

public class Gui extends JFrame{
    private static final long serialVersionUID = 1L;
    private JLabel label;
    private JTextField textField;
    private JButton button;
    private buttonHandler bHandler;

    public Gui(){
        setTitle("Basic Gui");
        setResizable(false);
        setSize(500, 200);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);    

        Container pane = getContentPane();
        pane.setLayout(null);


        button = new JButton("button");
        button.setBounds(50, 60, 50, 70);
        bHandler = new buttonHandler();
        button.addActionListener(bHandler);

        label = new JLabel("Hello", SwingConstants.RIGHT);
        label.setBounds(50, 60, 50, 70);

        textField = new JTextField(10);
        textField.setBounds(50, 60, 50, 70);

        pane.add(button);
        pane.add(label);
        pane.add(textField);

    }

    public class buttonHandler implements ActionListener{
        public void actionPerformed(ActionEvent e){
            System.exit(0);
        }
    }

    @SuppressWarnings("unused")
    public static void main(String[] args){
        Gui gui = new Gui();
    }

}
setVisible()
移动到构造函数的末尾。在设置
JFrame
之后,您将添加所有组件,并且make可见,因此您看不到任何更改

这将显示包含所有组件的
JFrame

public Gui(){
    setTitle("Basic Gui");
    setResizable(false);
    setSize(500, 200);
    setDefaultCloseOperation(EXIT_ON_CLOSE);    

    Container pane = getContentPane();
    pane.setLayout(null);


    button = new JButton("button");
    button.setBounds(50, 60, 50, 70);
    bHandler = new buttonHandler();
    button.addActionListener(bHandler);

    label = new JLabel("Hello", SwingConstants.RIGHT);
    label.setBounds(50, 60, 50, 70);

    textField = new JTextField(10);
    textField.setBounds(50, 60, 50, 70);

    pane.add(button);
    pane.add(label);
    pane.add(textField);
    setVisible(true); // Move it to here
}
下面是在我移动
setVisible
语句并编译代码前后帧的外观

之前:

之后:


在你纠正了那件小事之后,我的归宁已经走得很远了!再次感谢!!!