控制器初始化JFrame的实例

时间:2015-02-21 17:04:21

标签: java swing jframe

我有几个不相关的swing类,它们是JFrame的实例。问题是,我希望能够使用静态方法创建 controller 类,以根据需要加载适当的框架。我遇到以下代码时遇到困难,因为许多组件都无法加载。我怀疑问题在于事件派遣线程。以下代码不起作用:

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Controller {

    private Controller() {
    }

    public static void initialize(final JFrame frame) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame selectionFrame = frame;
            }
        });

    }

    public static void main(String[] args) {

        Controller.initialize(new SampleFrame());

    }

}

程序加载框架和工具栏组件,但其他组件无法加载。注意:如果我重构控制器,程序运行就好了:

public class Controller {

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new SampleFrame();
            }
        });

    }

}

0 个答案:

没有答案