Java 除非调整窗口大小,否则JPanel不会显示在窗口中

Java 除非调整窗口大小,否则JPanel不会显示在窗口中,java,swing,resize,jframe,jpanel,Java,Swing,Resize,Jframe,Jpanel,我是java GUI新手,一直在学习。当我运行程序时,窗口是空白的,直到我调整它的大小 public class GUIProgram extends JFrame { int screenWidth = 1000; //screenSize.width; int screenHeight = 800; //screenSize.height; public GUIProgram() { super("DATABASE");

我是java GUI新手,一直在学习。当我运行程序时,窗口是空白的,直到我调整它的大小

public class GUIProgram extends JFrame
   {    
   int screenWidth = 1000; //screenSize.width;
   int screenHeight = 800; //screenSize.height;

   public GUIProgram()
      {
      super("DATABASE");

      setSize(screenWidth, screenHeight);
      setVisible(true);
      setDefaultCloseOperation(EXIT_ON_CLOSE);


      JPanel p = new JPanel();
      JPanel p2 = new JPanel();
      JPanel p3 = new JPanel(new GridBagLayout());

      JButton b = new JButton("Button 1");
      JButton c = new JButton("Button 2");

      p.add(b);
      p.add(c);

          JCheckBox cb = new JCheckBox("Do you LOVE bacon?");
      JCheckBox cb2 = new JCheckBox("Do you LOVE cheese?");

      p2.add(cb);
      p2.add(cb2);

      JLabel label = new JLabel("This is a label");
      JTextArea tb = new JTextArea("this is a test area");
      JTextField textField = new JTextField("text field");

      GridBagConstraints gbc = new GridBagConstraints();
      gbc.insets = new Insets(15,15,15,15);

          gbc.gridx = 0;
      gbc.gridy = 0;
      p3.add(label, gbc);
      gbc.gridx = 0;
      gbc.gridy = 1;
      p3.add(tb, gbc);
      gbc.gridx = 1;
      gbc.gridy = 2;
      p3.add(textField, gbc);

      add(p, BorderLayout.SOUTH);
      add(p3, BorderLayout.CENTER);
      add(p2, BorderLayout.NORTH);

      }
  }
提前感谢任何能给我一些建议的人! 请让我知道我所问的问题或我如何解释自己是否有歧义。

请在打包后立即致电setVisible last

提示: 设置屏幕宽度、屏幕高度;不要设置顶级容器的大小。改为布局内容和呼叫包。

呼叫集最后可见,紧接在打包之后

提示:
设置屏幕宽度、屏幕高度;不要设置顶级容器的大小。而是布局内容和呼叫包。

你需要打包,你需要打包,这样才行!非常感谢你!我想+1,但我的帐户是全新的,所以暂时不允许我使用。关于你的提示,pack是否在保持窗口上的所有内容的同时使窗口尽可能小?pack是否在保持窗口上的所有内容的同时使窗口尽可能小?对或者更确切地说,它并没有将其包装到最小尺寸,而是其内部组件的首选尺寸。这很有效!非常感谢你!我想+1,但我的帐户是全新的,所以暂时不允许我使用。关于你的提示,pack是否在保持窗口上的所有内容的同时使窗口尽可能小?pack是否在保持窗口上的所有内容的同时使窗口尽可能小?对或者更确切地说,它不是将其包装到最小尺寸,而是其内部组件的首选尺寸。