Java - 当我尝试使用盒子布局时出现错误

时间:2015-04-27 18:45:27

标签: java swing layout-manager boxlayout

我试图使用盒子布局创建一个框架但是我得到一个奇怪的错误:

Exception in thread "AWT-EventQueue-0" java.awt.AWTError: BoxLayout can't be shared.

这里是我的Jframe类中可能导致错误的代码部分:

    JLabel JL = new JLabel();
    PongPanel pp = new PongPanel();
    JPanel panel = new JPanel();
    BoxLayout layout = new BoxLayout(panel, BoxLayout.PAGE_AXIS);
    setLayout(layout);
    panel.add(pp);
    panel.add(Box.createVerticalStrut(20));
    panel.add(JL);
    add(panel);

1 个答案:

答案 0 :(得分:2)

目标容器已分配到此声明中的panel容器

BoxLayout layout = new BoxLayout(panel, BoxLayout.PAGE_AXIS);

为父容器替换

使用不同的布局管理器实例
setLayout(layout); 

panel.setLayout(layout); 

阅读:How to Use BoxLayout