gpt4 book ai didi

java - swing、构建和制作 GUI、空屏幕

转载 作者:行者123 更新时间:2023-12-01 06:50:46 24 4
gpt4 key购买 nike

我有一个 Swing 程序。首先,我创建框架,然后向该框架插入 JPanel,其中包含所有图形组件。不知何故,我无法绘制底部面板。我只有空窗口。

    @Override
public void run() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new buildGUI());
frame.pack();
frame.getContentPane();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.getContentPane().validate();
frame.getContentPane().repaint();
}

.
.
.


public class buildGUI extends JPanel {
public void buildGUI() {
bottomPanel = new JPanel();
bottomPanel.setLayout(new GridBagLayout());
// build gui here, add components to bottomPanel
frame.add(bottomPanel);
}

@Override
public Dimension getPreferredSize() {
// this works
return new Dimension(800, 800);
}

@Override
protected void paintComponent(Graphics g) {
// here I want to draw my app gui
super.paintComponent(g);
}
}

谢谢

最佳答案

public class buildGUI extends JPanel {
public /*void*/ buildGUI() {
bottomPanel = new JPanel();
bottomPanel.setLayout(new GridBagLayout());
// build gui here, add components to bottomPanel
// frame.add(bottomPanel);
}

您的 buildGUI 构造函数不应具有返回类型。

frame.add 也不是必需的,因为您在实例化时添加它。

可能您需要将底部面板添加到“this”;

this.add(bottomPanel)

将bottomPanel实际添加到buildGUI面板(因为您扩展了JPanel,buildGUI也是一个JPanel)或引用“this”而不是bottomPanel。

关于java - swing、构建和制作 GUI、空屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30184612/

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