可调整大小的滚动窗格到awt框架

时间:2014-07-06 15:45:45

标签: java swing frame jscrollpane

我需要将一个可滚动的JPanel添加到AWT帧中,该帧可以在重新调整帧时进行缩放。当我将其设置为固定大小时,会出现滚动窗格。但是当我重新调整框架尺寸时,我需要面板覆盖整个框架并自动重新调整尺寸。

    Composite composite = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
    Frame frame = SWT_AWT.new_Frame(composite);

    SimulationPanel simPanel= new SimulationPanel(WIDTH,simPanelTotalHeight);

    JScrollPane scrollPane = new JScrollPane(simPanel);
    scrollPane.setSize(new Dimension(500,400));

    JPanel contentPane = new JPanel(null);
    contentPane.add(scrollPane);

    frame.add(contentPane);

1 个答案:

答案 0 :(得分:2)

  1. 不要设置JScrollPane的大小或preferredSize。如果需要的话,它们可能会混淆其重新调整大小的能力。
  2. 而是使用允许其使用容器重新调整大小的布局将其添加到容器中。想到BorderLayout。使用布局管理器的智能组合,确保容器层次结构也以一种合适的方式附加到顶层窗口。这是理解并使用布局管理器的关键原因之一。
  3. 不要使用null布局,事实上这是弄乱代码的一件事。
  4. 作为一个侧面问题:为什么要使用AWT的Frame而不是Swing的JFrame?这没有多大意义。