Автоматически обновлять JTextArea - PullRequest
3 голосов
/ 17 февраля 2012

Абсолютно новый для Java и у меня полная кирпичная стена.

У меня есть JTextArea в моей системе, который я хотел бы иметь живое обновление, поэтому когда что-то добавляется в table2моя база данных), мой сервер извлекает новые значения из базы данных и затем обновляет JTextArea.

Я абсолютно не знаю, как это сделать, хотя я решил, что мне нужно использовать Thread, чтобы получить егоработа.

Любая / вся помощь очень ценится (мне немного не хватает времени)

1 Ответ

5 голосов
/ 17 февраля 2012

Что вы можете сделать, это сделать так, чтобы ваш поток опрашивал вашу базу данных в заданные промежутки времени, или же процесс, который обновляет базу данных, запускает какое-то событие, которое может получить ваш класс GUI.Когда это произойдет, вы можете использовать SwingUtilities.invokeLater () для обновления JTextArea.Примерно так должно поступить:

if (eventIsFired)
{
    final String jtextAreaText = ...
    SwingUtilities.invokeLater(new Runnable()
    {
        @Override
        public void run()
        {
            jTextArea.setText(jTextAreaText);
        }            
    });
}

Предполагается, что jTextArea - это ваша фактическая JTextArea, которая объявлена ​​как глобальная переменная.jTextAreaText необходимо объявить как final, чтобы к нему можно было получить доступ через внутренний класс.

...