gpt4 book ai didi

java - 从隐藏的 jPanel 中删除右侧水平间隙

转载 作者:行者123 更新时间:2023-12-01 09:18:54 25 4
gpt4 key购买 nike

我有一个按钮,可以显示/隐藏 jPanel,然后调用 pack();但是隐藏面板之间的 jPanel 水平间隙和该面板右侧的间隙加起来并在右侧创建一个巨大的水平间隙。

我使用默认布局,即边框布局。

现在发生的事情是这样的: enter image description here

隐藏 jPanel 后我希望它看起来像什么 enter image description here

private void normalDistributionTableToggleActionPerformed(java.awt.event.ActionEvent evt) {                                                              
normalDistributionTablePanel.setVisible(!normalDistributionTablePanel.isVisible());
pack();
revalidate();
repaint();
System.out.println("Toggle normal distribution table.");
}

最佳答案

I am using default layout which is border layout.

您正在嵌套使用不同布局管理器的面板。如果您查看显示了两个组件的第二张图像,您会发现右侧的间隙比左侧的间隙大。

某些布局管理器(例如 FlowLayout)将正确处理组件的可见性,因此右侧的间隙将保持不变。

另一方面,如果您使用像 BoxLayout 这样的布局管理器并在组件之间添加“水平支柱”,那么当您隐藏面板时,您会知道有两个支柱在一起,这会增加间隙。

如果你使用IDE来生成代码,那么我没有IDE来做什么GroupLayout代码,但我建议你不要使用IDE并手动编写布局代码,这样你可以更好地控制它。

如果没有看到您的简单演示代码(SSCCE/MCVE),我们无法给出具体的解决方案。

关于java - 从隐藏的 jPanel 中删除右侧水平间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40304987/

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