Java 绑定JPanel';s至JScrollPane的宽度';s宽度以防止自动调整大小

Java 绑定JPanel';s至JScrollPane的宽度';s宽度以防止自动调整大小,java,swing,jpanel,jscrollpane,Java,Swing,Jpanel,Jscrollpane,我有这样的代码: JPanel panel = new JPanel(); JScrollPane scrollPane = new JScrollPane(); scrollPane.setViewportView(panel); scrollPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 当面板中的组件变得太宽时,会出现滚动窗格中的水平滚动条,用户必须向左或向右滚动

我有这样的代码:

JPanel panel = new JPanel();
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(panel);
scrollPane.setHorizontalScrollBarPolicy(
           JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
当面板中的组件变得太宽时,会出现
滚动窗格中的水平滚动条
,用户必须向左或向右滚动。问题是,面板中的组件实际上是可调整大小的,但因为它是一个JScrollPane,所以它最大化了

问题:有没有办法将面板的宽度属性绑定到
滚动窗格的宽度属性?这样面板内的组件就不会超过面板的宽度

下面显示了它的外观:


水平滚动条策略设置为“从不”时,滚动条消失,但面板宽度保持不变,但是现在面板的一部分不再可见。

您可以使用
setHorizontalScrollBarPolicy
setVerticalScrollBarPolicy
方法或从构造函数
JScrollPane(Component,int,int)

引用的话,这些政策是:

  • 垂直滚动条(根据需要)
  • 水平滚动条(根据需要)
  • 垂直滚动条总是
  • 水平滚动条总是
  • 垂直滚动条
  • 水平滚动条

请参见:您好,我尝试了您的建议,结果如我的编辑所示。滚动条不再存在,但是jscrollpane中的面板的宽度仍然超过jscrollpane,因此面板的一部分现在不再可见。