gpt4 book ai didi

java - 除非我调整窗口大小,否则 JPanel 不会出现在窗口中

转载 作者:行者123 更新时间:2023-12-04 04:57:28 25 4
gpt4 key购买 nike

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

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()最后,紧随其后 pack() .
提示:setSize(screenWidth, screenHeight);不要设置顶级容器的大小。而是布置内容并调用 pack() .

关于java - 除非我调整窗口大小,否则 JPanel 不会出现在窗口中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16589611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com