Нестабильное отображение элементов на фрейме - 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); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д