Java - JPanel&其内容如何设置边界

时间:2012-01-01 20:09:08

标签: java swing user-interface jpanel jscrollpane

我的JFrame上有3个JPanel。无论如何,当JFrame重新调整大小时,JPanels会纵向和横向扩展,它们将被绑定到JFrame。

我想知道如何将其中一个JPanel内的JScrollPane设置为绑定到该JPanel,因此如果重新调整JPanel的大小,那么其中的JScrollPane就是这样。

2 个答案:

答案 0 :(得分:3)

如果您的JPanel只包含一个JComponent,它可以与面板一起缩放,那么最简单的布局管理器选项之一就是BorderLayout并在中心添加内容

JPanel panel = new JPanel( new BorderLayout() );
JComponent componentToAdd = ...;
panel.add( componentToAdd, BorderLayout.CENTER );

不同的布局管理器上有一个完整的Swing tutorial,它描述了不同管理者最适合的情况

答案 1 :(得分:2)

这将要求您根据需要为JPanel提供正确的布局,例如BorderLayout,GridLayout,BoxLayout或其他(但不是JPanel的默认布局 - FlowLayout - 它不会更改所持有的组件的preferredSize )..如果是BorderLayout,则添加JPanel BorderLayout.CENTER(或根据需要再次添加到另一个位置)。如果您不熟悉基本布局,您需要阅读并学习可在此处找到的教程:

Lesson: Laying Out Components Within a Container