我希望在我的基本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);
如果我将JScrollpane
与JPanel
直接添加到JFrame
,JScrollpane
就可以了。但现在,当我将帧的大小减小到500像素以下时,JPanel
会变小,如第二张图所示。
如何让JScrollPane
工作?
答案 0 :(得分:1)
GridBagLayout
完全符合预期。当可用空间小到符合组件的首选大小时,它将使用组件的最小大小。
相反,请考虑使用BorderLayout
和EmptyBorder
来生成滚动窗格周围的空白区域
您还可以使用weightx/y
的{{1}},fill
和insets
属性
请查看How to use GridBagLayout了解详情