有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JScrollpane与另一个JPanel中的JPanel

我想在我的基本JFrame中添加一个JScrollpane和另一个JPanel中的JPanel

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);

如果我将带有JPanelJScrollpane直接添加到JFrame,则JScrollpane有效。但是现在,当我将帧的大小减小到500像素以下时,JPanel变小了,如第二张图片所示

BEFORE AFTER

如何使JScrollPane工作


共 (1) 个答案

  1. # 1 楼答案

    GridBagLayout正是人们对它的期望。当可用空间太小,无法满足构件的首选尺寸时,将使用构件的最小尺寸

    取而代之的是,考虑使用^ {< CD2>}和一个^ {< CD3>}来生成滚动窗格

    周围的空白空间。

    您还可以使用weightx/yfillinsetsGridBagConstraints属性

    有关更多详细信息,请查看How to use GridBagLayout