Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于带有可折叠JPanel的容器,首选的布局管理器是什么_Java_Swing_Jpanel_Layout Manager - Fatal编程技术网

Java 对于带有可折叠JPanel的容器,首选的布局管理器是什么

Java 对于带有可折叠JPanel的容器,首选的布局管理器是什么,java,swing,jpanel,layout-manager,Java,Swing,Jpanel,Layout Manager,我的代码有一个JPanel,它包含三个可折叠的JPanel。外部JPanel使用BoxLayout垂直堆叠三个JPanel。但是,当我折叠一个JPanel时,即使我设置了MaximumSize或诸如此类的值,顶部的JPanel将始终扩展以填充该区域,而我希望较低的JPanel向上扩展。这通常是个小问题。我在看GridBagLayout,这是否更适合这种尝试 谢谢 这是一个VB图像,显示了我在“最疯狂的梦想”图像中的梦想,带有标题垂直面板: 我强烈建议。它功能强大,使用方便。它也被广泛使用。我强烈

我的代码有一个JPanel,它包含三个可折叠的JPanel。外部JPanel使用BoxLayout垂直堆叠三个JPanel。但是,当我折叠一个JPanel时,即使我设置了MaximumSize或诸如此类的值,顶部的JPanel将始终扩展以填充该区域,而我希望较低的JPanel向上扩展。这通常是个小问题。我在看GridBagLayout,这是否更适合这种尝试

谢谢

这是一个VB图像,显示了我在“最疯狂的梦想”图像中的梦想,带有标题垂直面板:


我强烈建议。它功能强大,使用方便。它也被广泛使用。

我强烈建议。它功能强大,使用方便。它也被广泛使用。

我不知道什么是可折叠面板。它是一直塌陷到0,还是具有最小高度

如果您管理的最大尺寸始终等于首选尺寸,那么您应该能够使用BoxLayout。只需确保您还使用:

panel.add( Box.createVerticalGlue() );
在面板底部,允许胶水使用额外的空间


从我面前的500行垃圾中剪下一个可编译的片段,这将花费我很长时间


这就是创建SSCCE并忘记垃圾代码的原因。您只需要一个带有3个可折叠面板的面板。然后添加一个按钮来折叠面板,看看会发生什么。最好从演示代码开始,然后写500行代码,然后发现它不起作用。

我不知道什么是可折叠面板。它是一直塌陷到0,还是具有最小高度

如果您管理的最大尺寸始终等于首选尺寸,那么您应该能够使用BoxLayout。只需确保您还使用:

panel.add( Box.createVerticalGlue() );
在面板底部,允许胶水使用额外的空间


从我面前的500行垃圾中剪下一个可编译的片段,这将花费我很长时间

这就是创建SSCCE并忘记垃圾代码的原因。您只需要一个带有3个可折叠面板的面板。然后添加一个按钮来折叠面板,看看会发生什么。最好从演示代码开始,然后编写500行代码,然后发现它不起作用。

或基于GridBagLayout的旧经典

还是基于GridBagLayout的老经典


我看不到你要求重新验证的电话。我根本看不到任何代码@farm ostrich,这是你提供一些代码的提示。从我面前摊开的500行垃圾中剪下一个可编译的片段,我会花很长时间。我想我是在问……进入这样的话题,你会使用什么布局?@farm ostrich,很公平,但你能更具体地描述一下你想要的行为吗。至少对我来说,你在找什么还不清楚。我看不到你调用重新验证。我根本看不到任何代码@farm ostrich,这是你提供一些代码的提示。从我面前摊开的500行垃圾中剪下一个可编译的片段,我会花很长时间。我想我是在问……进入这样的话题,你会使用什么布局?@farm ostrich,很公平,但你能更具体地描述一下你想要的行为吗。至少对我来说,你在寻找什么并不清楚。我认为你是对的。我正在编写一些难以控制的遗留代码。是时候从头开始了。我想你是对的。我正在编写一些难以控制的遗留代码。时间从零开始。+ 1,也考虑用Mouseadapter代替工具MouseListener。在某些标识符中,尾随的意义是什么?@ TrasGod,我也编写了代码相同/相似的方式,只是旧PL + 1的坏习惯,也考虑用Mouseadapter代替MouseListener实现。在某些标识符中,尾随的意义是什么?@trashgood,我也以同样/相似的方式编写代码,只是旧PL中的坏习惯