我必须有问题地编辑网格袋布局,并且得到奇怪的结果。
预期:
|一个 | | B |
| --| | C |
| d | | -- |
结果:
|一个 | | B |
| d | | C |
A和C的高度为2 这就是 gridbag 的工作原理吗?有什么办法可以强制执行吗?
我的程序有两列和 n 行。它支持宽度为2,但仅在第一列时生效。如果在第二行,则其行为就好像宽度为 1。
gbc.gridx = 0;<br/>
gbc.gridy = 0;<br/>
gbc.gridheight = 1;<br/>
gbc.gridwidth = 1;<br/>
gbc.weighty = 1;<br/>
gbc.fill = GridBagConstraints.BOTH;<br/>
gbc.insets = new Insets(7, 7, 7, 7);<br/>
gbc.weightx = 0.5;<br/>
gbc.anchor = GridBagConstraints.NORTH;
组件由用户添加,用户确定 width
和height
。 gridx
和gridy
值由添加和放置的其他组件决定。
网格袋布局对于 say 来说效果很好
*_ _
|A|B|
|_|C|
它似乎不喜欢 C 的高度为 2
最佳答案
确保您正在为正在使用的 GridbagConstraints
对象的 fill
属性设置 GridbagConstraints.BOTH
。否则,您将无法在多行上放置组件。
GridbagConstraints c = new GridbagConstraints();
c.fill = GridbagConstraints.BOTH;
关于java - java中的Gridbag布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12516472/