如何限制JScrollPanel
视图宽度?我不希望在任何情况下发生水平滚动。我试图提供自己的JViewport
,但这并没有多大帮助。
private static class WidthRestrictingViewport extends JViewport {
private Container contents;
public WidthRestrictingViewport(final Container cnts) {
contents = cnts;
}
@Override
public Dimension getPreferredSize() {
if (getParent() instanceof JScrollPane) {
JScrollPane sp = (JScrollPane) getParent();
return new Dimension(sp.getWidth(), contents.getHeight());
}
return super.getPreferredSize();
}
@Override
public Dimension getMaximumSize() {
return getPreferredSize();
}
}
以及创建的代码JScrollPane
Container fpdp = ....
JScrollPane sp = new JScrollPane();
sp.setViewport(new WidthRestrictingViewport(fpdp));
sp.setViewportView(fpdp);
contents
我提供的实例采用其最大宽度,但是我希望它的宽度不超过JScrollPane
宽度,因此不会发生水平滚动。我究竟做错了什么?