我尝试在Java中使用JProgressBar函数,但是有一个问题我无法解决:
当我将最小值设置为零,最大值设置为100,当前值设置为6时,则不会显示任何内容。进度条为空。如果我将当前值设为7,则可以正常工作。这似乎是由于空边框或其他空间引起的问题。该问题仅在Windows 7上出现,并且仅在UIManager设置为SystemLookAndFeel时才会出现。
有人知道这个问题并有解决方法吗?下面是我的代码:
当我将最小值设置为零,最大值设置为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);
}
}