JProgressBar: низкие значения не будут отображаться
Я опробовал функцию JProgressBar в Java. Но есть проблема, которую я не смог решить:
Когда я устанавливаю минимальное значение на ноль, максимальное значение на 100 и текущее значение на 6, тогда ничего не будет отображаться. Индикатор выполнения пуст. Если я поставлю 7 как текущее значение, то это работает. Кажется, это проблема с любой пустой границей или другим пространством. Проблема возникает в Windows 7 и только в том случае, если для UIManager установлено значение SystemLookAndFeel.
Кто-нибудь знает эту проблему и имеет решение для этого? Ниже мой код:
package lab;
import java.awt.FlowLayout;
import javax.swing.JDialog;
import javax.swing.JProgressBar;
import javax.swing.UIManager;
import core.Config;
public class ProgressSample extends JDialog {
public ProgressSample() {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
getContentPane().setLayout(new FlowLayout());
// Nothing is displayed
JProgressBar progressSix = new JProgressBar(0, 100);
progressSix.setValue(6);
getContentPane().add(progressSix);
// This works
JProgressBar progressSeven = new JProgressBar(0, 100);
progressSeven.setValue(7);
getContentPane().add(progressSeven);
pack();
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
ProgressSample dialogTest = new ProgressSample();
dialogTest.setVisible(true);
}
}