JScrollpane与另一个JPanel中的JPanel

时间:2014-06-09 21:40:13

标签: java swing jpanel jscrollpane

我希望在我的基本JScrollpane

中添加另一个JPanel JPanel JFrame
JPanel outer = new JPanel(new GridBagLayout()); 
JPanel drawPanel = new JPanel(new GridBagLayout());
drawPanel.add(new DrawingBoard(500,500));
drawPanel.setBackground(Color.WHITE);
JScrollPane scrollPane = new JScrollPane(drawPanel);
outer.add(scrollPane);
this.add(outer, BorderLayout.CENTER);

如果我将JScrollpaneJPanel直接添加到JFrameJScrollpane就可以了。但现在,当我将帧的大小减小到500像素以下时,JPanel会变小,如第二张图所示。

BEFORE AFTER

如何让JScrollPane工作?

1 个答案:

答案 0 :(得分:1)

GridBagLayout完全符合预期。当可用空间小到符合组件的首选大小时,它将使用组件的最小大小。

相反,请考虑使用BorderLayoutEmptyBorder来生成滚动窗格周围的空白区域

您还可以使用weightx/y的{​​{1}},fillinsets属性

请查看How to use GridBagLayout了解详情