Каковы параметры типа в SwingWorker? - PullRequest
2 голосов
/ 10 декабря 2011

У меня есть следующий код для выполнения процесса входа в фоновом режиме:

private class LoginThread extends SwingWorker<Boolean, Object> {

        private Controller controller;
        private String userName;
        private String password;

        public LoginThread(Controller controller, String userName, String password) {
            this.controller = controller;
            this.userName = userName;
            this.password = password;
        }

        @Override
        protected Boolean doInBackground() throws Exception {
            status.setText("Try to log in user " + userName + "...");
            return controller.login(userName, password);
        }

        @Override
        protected void done() {
            try {
                if (get()) {
                    controller.loginDone();
                } else {
                    showErrorMessage("Can't login user " + userName + ".");
                }
            } catch (Exception ignore) {
                showErrorMessage("Can't login user " + userName + ".");
            }
        }

    }

Я не могу найти в API объяснение, что является вторым параметром типа SwingWorker.Первый тип, вероятно, является типом, который возвращается методом doInBackground, но что является вторым типом?

1 Ответ

10 голосов
/ 10 декабря 2011

Как указано в SwingWorker документы:

java.lang.Object
    javax.swing.SwingWorker<T,V>

Type Parameters:

    T - the result type returned by this SwingWorker's doInBackground and 
        get methods
    V - the type used for carrying out intermediate results by this SwingWorker's
        publish and process methods
...