数据库连接期间的加载器

时间:2012-01-10 17:36:05

标签: java swing popup

我有一个JFrame,立即建立数据库连接。此连接最多需要2秒,同时我想显示一条消息(或另一个JFrame)。建立连接后,消息应该消失。

我有一个坏榜样,有没有人有更好的主意?

public class Main extends JFrame {

    View v = new View();
    static JFrame loader = new JFrame();
    static JLabel loading = new JLabel("Loading");

    public Main() {
        this.add(v);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setExtendedState(this.getExtendedState() | JFrame.MAXIMIZED_BOTH);
        this.setBounds(100, 50, 800, 500);

        loader.setBounds(500, 300, 100, 100);
        loader.setVisible(true);
        loader.add(loading);
    }

    public static void main(String[] args) {
        Main m = new Main();
        if (DB.INSTANCE.connect()) {
            m.setVisible(true);
            loader.setVisible(false);
        } else {
            loading.setText("DB ERROR");
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您应该查看SwingWorker并在后台执行此操作。但首先,您必须了解Threads and Swing

答案 1 :(得分:1)

如果任务是创建一个启动对话框(在完成一些初始化工作时应用程序启动时显示的框架),这里有一个关于如何使用Swing的SplashScreen执行它的教程:http://docs.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html