【发布时间】:2018-04-23 14:17:23
【问题描述】:
我一直在尝试使JScrollPane 的内容宽度缩小,例如。我已将HorizontalScrollBarPolicy 设置为NEVER,但这最终导致没有出现滚动条并且内容不再显示。
我希望它看起来像这样:
这是我的 MCVE:
final JPanel panel = new JPanel( new MigLayout( new LC().flowX().gridGapX( "20" ).fill() ) );
panel.add( new JXTitledSeparator( "Test" ), new CC().growX().spanX().wrap() );
panel.add( new JLabel( "Shrink me please!" ), new CC().minWidth( "1" ) );
panel.add( new JLabel( "Never shall anyone ever be able to shrink me." ), new CC().growX() );
final JScrollPane scrollPane = new JScrollPane( panel );
scrollPane.setHorizontalScrollBarPolicy( ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER );
final JFrame frame = new JFrame( "Test" );
frame.getContentPane().add( scrollPane );
frame.setVisible( true );
frame.pack();
遗憾的是,我不知道如何做到这一点,JScrollPane 的 JViewport 没有提供任何可能有用的方法,JScrollPane 本身也没有。
另外我已经尝试使用BoxLayout 和FlowLayout 而不是MigLayout 来实现相同的目的,以验证MigLayout 不是问题的原因。
【问题讨论】:
-
尝试将“shrink 0”设置为右列的约束。
-
仍然没有帮助。反正右栏没有缩小。
标签: java swing layout scroll jscrollpane