BorderLayout Swing

时间:2011-02-08 05:27:37

标签: java swing awt jscrollpane

我正在使用A BorderLayout。在北方位置,我有一个名为panNorth的面板,我在其中添加了一些组件(比如我只是在下一行添加一个按钮(gridlayout))。在中间部分的主框架中,我稍后会添加一些内容。

那么我现在的问题是,当我在panNorth中添加新的控件时,大小会增加并占据BorderLayout's中心位置。所以我在北侧添加了JScrollPane并在Jscrollpane中添加了panNorth,但没有发生任何不同。同样的事情再次发生; JScrollPane的大小正在扩展到panNorth的原始大小,因此它会显示所有组件,滚动条现在不会使用。

因此,请向我建议如何一次只显示3行。

1 个答案:

答案 0 :(得分:7)

尝试使用:

jScrollPane.setPreferredSize(new Dimension(panNorth.getWidth(), desiredHeight));

这应该强制JScrollPane在北窗格中保留其首选大小。