我做了一个非常简单的测试用例:
- 我有一个带有
BorderLayout(panel1)的全局包含面板 - 这个全局面板包含一个
JScrollPane(scroll1) - 这
JScrollPane包含一个面板,上面有一BoxLayout组PAGE_AXIS(panel2)
然后我有一小段代码将组件(JLabel's)添加到panel2:
for (int i = 0; i < 150; i++) {
panel2.add(new JLabel(String.valueOf(i)));
}
panel2.revalidate();
有用。现在我想使用我制作的自定义面板,它扩展了JXPanelSwingX。所以panel2在我的测试用例中看起来像:
public class Panel2 extends JXPanel {
}
它不起作用了。滚动条不出现。为什么?JXPanel使用within时有什么特别的事情要做JScrollPane吗?
编辑:
使用setScrollableHeightHint(ScrollableSizeHint.NONE);on后panel2,panel2根据其中的组件数量调整自身大小,这不是我想要的行为,我希望滚动窗格保持其固定大小。