设置JScrollPane的常量大小

时间:2013-01-05 06:00:33

标签: java jscrollpane layout-manager jtabbedpane border-layout

我有一个带边框布局的JTabbedPane。

enter image description here

这是我用来添加组件的代码:

add(columnNames, BorderLayout.NORTH);
add(scroll, BorderLayout.CENTER);
add(useCtrl, BorderLayout.SOUTH);
setVisible(true);

问题: 注意JScrollPane内右边的多余空格。我不希望那里。我希望JScrollPane在改变JFrame的大小时根本不改变大小。我尝试过setSize()和setPreferredSize(),但JScrollPane的大小总是在变化。我尝试过使用GridLayout,但结果相同。

2 个答案:

答案 0 :(得分:4)

JScrollPane放在另一个布局的JPanel中。 (例如BoxLayoutGridBagLayout)。并将JPanel添加到中心。

答案 1 :(得分:3)

图形对象的大小由布局管理器控制。 BorderLayout将始终展开CENTER对象以占用所有可用空间。 GridLayout按比例扩展所有孩子。如果您尝试使用GridBagLayout并将weightx设置为0,则会阻止水平扩展。

有许多可用的布局管理器,浏览API以获得更多选择并进行实验,直到找到所需的调整大小行为。每个都有一个很好的解释它在javadoc中是如何工作的。