APe*_*son 3 java swing jpanel layout-manager
什么是最简单的方法,使其JPanel占据其父容器的固定百分比,按宽度?
当其父容器的宽度发生变化时,它的宽度应该更新.
我试过使用Box.createHorizontalStrut(),但是当JPanel父容器的宽度发生变化时,它不会更新.
你想要的是一个GridBagLayout.(怎么用?)
使用GridbagLayout可以为您添加的每个组件定义GridBagConstraints.
这些限制包括weightx它在锡上的确切内容.这是在"网格行"中所有组件计算的相对值,类似于分布部件.
请注意,当超出组件的首选大小时,weightx才会开始起作用.请注意,这可能会导致有趣的错误,当设置minimumSize()时,请参阅此SO答案.
无论如何:你可以通过指定它在当前行中的组件的百分比或者其中的任意倍数来获得weightx所需的值.
这意味着对于组件占用可用父容器宽度的50%,请使用weightx = 0.5.确保行的weightx值加起来1.0