我的问题是,虽然滚动条出现在特定的面板上,但我希望它不会随着标签的添加而扩展。我希望当标签开始脱离他们被添加到的面板时,它会扩展。
我有一个主JPanel‘面板’,它使用GridBagLayout,其中我还有另外5个面板,需要滚动条的是boardPanel,它对setLayout()具有空值。
panel = new JPanel();
panel.setLayout(new GridBagLayout());
...
1Panel = new JPanel();
1Panel.setPreferredSize(new Dimension(480, 800));
1Panel.setLayout(null);
scrollPanel = new JScrollPanel(1Panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
...
c.weighty = 1.0;
c.weightx = 0.6;
c.gridx = 0;
c.gridy = 0;
c.gridheight = 3;
panel.add(scrollPanel, c);
...我希望这是足够的信息,非常感谢您的帮助提前。
发布于 2015-04-06 20:08:35
不要使用空布局!
不要使用setPreferredSize()!
当组件的首选大小大于滚动窗格的大小时,将出现滚动条。通过硬编码一个大小,您破坏了这个功能。
使用布局管理器,当您向面板添加组件时,首选的大小将动态更改。
阅读关于布局管理器的Swing教程
https://stackoverflow.com/questions/29478792
复制相似问题