Обновить Jframe при изменении данных - PullRequest
1 голос
/ 09 марта 2012

Я создал класс, который расширяет jframe.У меня есть макет границы для jframe и некоторых компонентов, а также jpanel с абсолютным макетом для размещения некоторых кнопок и jcombobox.Поле со списком содержит некоторые значения из таблицы.И таблица берет значения из запроса MySQL.Я удаляю или добавляю некоторые записи с помощью кнопок, а затем обновляю таблицу.

Все отлично работает, кроме поля со списком, которое не обновляет значения.Чтобы работать, я должен закрыть jframe и открыть его снова.Я прочитал много статей и руководств по перекраске и т. Д., Но в моем случае ничего не работает.Слушатель действия также является тем же классом, который расширяет jframe.

Есть ли способ сделать это?Пожалуйста, будьте проще, так как я новичок в программировании на Java.Спасибо!

1 Ответ

3 голосов
/ 09 марта 2012

Вы слышали о SwingUtilities.invokeLater(new Runnable()) или java.awt.EventQueue.invokeLater(new Runnable())?

Чтение этой ветки может быть полезно: Параллелизм в Swing

Пример кода, который вы можете добавить к основному методу:

java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
        JFrame frame = new JFrame();
        frame.setVisible(true);
                ...
    }
});
...