现在我正在尝试使用只有一列的GridLayout。但是我有一个问题,我不希望对象,在这种情况下是一个JButton,拉伸它所在的JPanel的整个宽度。有没有办法减少JButton的宽度,以便它不会拉伸JPanel的整个宽度。我尝试过使用setPreferredSize和setSize没有结果。
这只是GridLayout的工作方式还是我缺少的东西?
答案 0 :(得分:2)
一个简单的非优雅解决方案是将JButton嵌入JPanel中,然后将JPanel插入到布局中。
答案 1 :(得分:1)
BoxLayout
似乎运作良好。特别参见Specifying Component Sizes。
答案 2 :(得分:1)
GridLayout只是使一堆组件大小相等,并以请求的行数和列数显示它们。
这就是按钮拉伸布局面板的整个宽度的原因。看看这些链接中是否有任何帮助:
答案 3 :(得分:0)
你可以尝试:
button.setMaximumSize( button.getPreferredSize() );
我认为它将固定在左侧。否则,尝试将按钮放在具有不同布局的另一个面板中,使按钮保持其首选大小(如FlowLayout),然后将该面板放在网格布局面板中。