设置布局管理器

时间:2010-03-03 19:12:21

标签: java layout

我想要一个框架,它有9个红色和蓝色和绿色的平面,我将框架设置为borderlayout管理器,但它没有显示任何东西。请帮助我。谢谢 (LightsNPlanesApp是正确的,可以正确运行,但MainFrame不正确,因为它没有显示任何内容)

MainFrame :(只是主要方法)

public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

        public void run() {
            MainFrame frame = new MainFrame();

            addComponentsToPane(frame.getContentPane());

            frame.pack();
            frame.setVisible(true);
        }

        private void addComponentsToPane(Container pane) {

            pane.add(new LightsNPlanesApp(), BorderLayout.PAGE_START);
            pane.add(new LightsNPlanesApp(), BorderLayout.CENTER);
            pane.add(new LightsNPlanesApp(), BorderLayout.PAGE_END);

        }
    });
}

2 个答案:

答案 0 :(得分:1)

add("Center", canvas3D);

...已过时/错误,应替换为:

add(canvas3D, BorderLayout.CENTER);

答案 1 :(得分:0)

您发布的代码是如何编译的?您是否懒得听我关于从简单代码开始的建议?您的自定义JPanel或所有JPanel的问题是什么?

为什么不尝试添加3个JPanel,每个JPanel具有不同的背景颜色,看看它是否有效。当然如果不起作用,但一旦你弄明白这个问题,那么也许你可以在你的其他课上使用相同的解决方案。

当然,因为你还没有发布一个合适的SSCCE,我只是猜测这就是为什么我不给你我认为解决方案完全正确的原因。如果您要使用猜测导致问题的代码是什么样的,那么在给定提示的情况下,您将需要猜测解决方案。同样,SSCCE并不意味着您包含自定义面板中的完整代码,这意味着您发布了模拟问题的简单代码。