Загрузчик во время подключения к базе данных - PullRequest
0 голосов
/ 10 января 2012

У меня есть 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 ]

1 голос
/ 10 января 2012

Если задача состоит в том, чтобы создать диалоговое окно-заставку (кадр, отображаемый во время запуска приложения, когда выполняется некоторая работа по инициализации), вот учебник о том, как это сделать с помощью SplashScreen Swing: http://docs.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html.

1 голос
/ 10 января 2012

Вы должны взглянуть на SwingWorker и сделать это в фоновом режиме.Но, прежде всего, вы должны понимать Threads и Swing .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...