gpt4 book ai didi

java - Swing JPanel 布局管理器

转载 作者:行者123 更新时间:2023-12-01 10:30:31 31 4
gpt4 key购买 nike

这应该很简单,不知道为什么我不明白。我正在尝试使用 GroupLayout 在 JFrame (mainWindow)内创建 JPanel。我希望面板覆盖整个框架的宽度,它确实做到了,但面板的宽度/高度保持为 0(即使框架加载并且面板覆盖了所有框架)。谁能帮我?不确定我错过了什么。

panel = new JPanel();
Container pane = mainWindow.getContentPane();
GroupLayout gl = new GroupLayout(pane);
pane.setLayout(gl);
gl.setAutoCreateContainerGaps(false);
gl.setHorizontalGroup(gl.createSequentialGroup().addComponent(panel));
gl.setVerticalGroup(gl.createSequentialGroup().addComponent(panel));
// panel.getWidth() and panel.getHeight() both return 0 here

最佳答案

panel = new JPanel();
Container pane = mainWindow.getContentPane();
GroupLayout gl = new GroupLayout(pane);
pane.setLayout(gl);
gl.setAutoCreateContainerGaps(false);
gl.setHorizontalGroup(gl.createSequentialGroup().addComponent(panel));
gl.setVerticalGroup(gl.createSequentialGroup().addComponent(panel));
// ++++++++++++ editing start
// force do layout subcomponents and rendering
mainWindow.pack();
// ++++++++++++ editing end
System.out.println("w:" + panel.getWidth() + " h:" + panel.getHeight());

关于java - Swing JPanel 布局管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35112749/

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