Нестабильное отображение элементов на фрейме - 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);
        }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5