1

我不知道如何解决这个问题,我在使用 BoxLayout 的主 JPanel 中有几个 JPanel(用于绘图)。JPanel 具有设置的最小尺寸和首选尺寸。主 JPanel 仅显示五个中的三个,因为它太小了。我尝试将主 JPanel 的大小设置得相当大,还尝试添加一个滚动条,但没有任何显示。

这是一些代码:

public static void main(String[] args) throws XMLStreamException, IOException {
    JFrame frame = makeFrame(500, 500);
    JPanel panel = new JPanel();
    panel.setSize(1800, 1800);
    JScrollPane scroller = new JScrollPane(panel);  

    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));


    frame.add(scroller);

    test1(panel);

}
public static JFrame makeFrame(int sizex, int sizey){

    JFrame frame = new JFrame();

    frame.setTitle("FDA");
    frame.setSize(sizex, sizey);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);
    return frame;
}

test1将六个大小为 360x360 的 JPanel 添加到panel.

使用滚动条,我只能看到其中一个 JPanel,并且没有出现滚动条。

编辑:在绘制主 JPanel 之前,我必须等到所有计算完成,这就是为什么它没有显示最后 3 个。

4

1 回答 1

2
  • frame.setVisible(true);在创建和添加之前执行JComponents(到这个已经可见的 JFrame)

  • 请问什么test1(panel);

于 2013-04-19T20:26:41.240 回答