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,因此面板的一部分现在不再可见。