java将JPanel的宽度绑定到JScrollPane的宽度以防止自动调整大小
我有这样的代码:
JPanel panel = new JPanel();
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(panel);
scrollPane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
当面板中的组件变得太宽时,会出现scrollPane
中的水平滚动条,用户必须向左或向右滚动。问题是,面板中的组件实际上是可调整大小的,但因为它是一个JScrollPane,所以它最大化了
问题:有没有办法将面板的width属性绑定到scrollPane
的width属性?这样面板内的组件就不会超过面板的宽度
下面显示了它的外观:
水平滚动条策略设置为“从不”时,滚动条将消失,但面板宽度保持不变,但现在面板的一部分不再可见
# 1 楼答案
您可以使用
setHorizontalScrollBarPolicy
和setVerticalScrollBarPolicy
方法或从构造函数JScrollPane(Component, int, int)
更改滚动条策略引用the Oracle documentation,政策如下: