У меня есть проблема с графическим интерфейсом, которую я хотел бы решить, но я сбит с толку относительно того, что происходит, и надеюсь, что один из вас сможет это объяснить.База кода слишком велика для загрузки, однако я подробно объясню, что происходит:
У меня есть класс ProgessBar
, который представляет собой JDialog
, содержащий колебание JProgressBar
.У меня есть некоторые геттеры и сеттеры, чтобы изменить планку по своему вкусу, однако здесь возникает проблема.
ProgressBar создается внутри метода myButtonActionPerformed
myButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
myButtonActionPerformed(evt);
}
});
, по существу, когда пользователь нажимаетс этой кнопки начинается обработка, и появляется ProgressBar
.
У пользователя в данный момент есть JFrame
перед ним, и этот индикатор выполнения отображается в JDialog
.Пройдя через режим отладки в Netbeans, я вижу, что значения JProgressBar
меняются, но полоса визуально остается на уровне 0% во время обработки моей программы, а затем мгновенно переходит на 100%, как только она покидает метод прослушивания добавления действия, описанный выше.почти как если бы он ожидал перекрасить, пока не вышел из этого слушателя.Что я не понимаю?Есть ли что-то, что я могу вызвать, что заставит его обновиться внутри этого myButtonActionPerformed
метода вместо ожидания, пока он не станет бесполезным.