Нестабильное отображение элементов на фрейме - Java
Формулировка задачи:
Добдень,
Такой баг(картинку прикрепил):
Создал фрейм, добавил прогресбар, запускаю - фрейм пустой, потянул за него (изменил размер фрейма) - статусбар появился. заметил что если прописать фрейму setVisible(true) в самом конце (после создания и добавления прогресбара), то все отображается нормально, а если создать фрейм, прописать setVisible(true), а потом создавать и добавлять другие компоненты графики, то происходит такой баг.Это только у меня так из за свойст видеокарты, или все верно, и метод setVisible(true) должен прописываться после всех операций с компонентами на фрейме? Спасибо.
Структура кода при которой проявляется этот баг: JFrame f = new JFrame("JProgressBar");
f.setSize(400, 400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridBagLayout());
f.setVisible(true);
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
progressBar.setIndeterminate(true);
progressBar.setMinimum(0);
progressBar.setMaximum(100);
f.add(progressBar);
for(int i = progressBar.getMinimum(); i<=progressBar.getMaximum();i++){
Thread.sleep(100);
progressBar.setValue(i);
}Решение задачи: «Нестабильное отображение элементов на фрейме»
textual
Листинг программы
public class Progress extends JProgressBar {
Progress() {
super();
super.setStringPainted(true);
super.setIndeterminate(true);
super.setMinimum(0);
super.setMaximum(100);
}
}
public void startProgressBar() {
for(int i = super.getMinimum(); i<=super.getMaximum();i++){
Thread.sleep(100);
super.setValue(i);
}
}