如何在启动后更改JFrame的布局管理器?

时间:2012-03-21 18:45:10

标签: java swing layout-manager cardlayout

背景:我正在研究“来自地狱的GUI”计划。

问题:我需要将构造函数设置BorderLayout中的JFrame布局管理器更改为FlowLayout。

目的:按下按钮后,最终会快速完成这么多次,然后最终在一个布局管理器或另一个布局管理器上。

我应该如何做到最好?这是一些(工作)代码,如果它有帮助的话:

if (goodVibes)
        {
            final Timer t = new Timer(100, null);
            ActionListener changeStyle = new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    int count = 100;

                    // Insert layout manager switching code here

                    count--;
                    if (count <= 0)
                        t.stop();
                }
            };
        }

提前感谢任何指导!

1 个答案:

答案 0 :(得分:5)

据推测,你将拥有所有不同的组件?因此,为每个布局将组件放在JPanel上。切换为frame.setContentPane(panel);

或者,使用java.awt.CardLayout在面板之间切换。