Java 垂直进度条有奇怪的背景,不能更改
进度条由以下代码创建Java 垂直进度条有奇怪的背景,不能更改,java,swing,jprogressbar,Java,Swing,Jprogressbar,进度条由以下代码创建 bar = new JProgressBar(JProgressBar.VERTICAL); bar.setEnabled(true); bar.setBackground(Color.YELLOW); bar.setForeground(Color.GREEN); bar.setStringPainted(true); getReflectedComponent().setLayout(new BorderL
bar = new JProgressBar(JProgressBar.VERTICAL);
bar.setEnabled(true);
bar.setBackground(Color.YELLOW);
bar.setForeground(Color.GREEN);
bar.setStringPainted(true);
getReflectedComponent().setLayout(new BorderLayout());
getReflectedComponent().add(bar, BorderLayout.CENTER);
请注意,getReflectedComponent()返回一个JComponent。在另一种方法中,显示的字符串“最大值”和“当前值”被操纵,而不是更多
我真的不知道为什么顶部会显示这种奇怪的灰色条纹。如果我水平显示进度条,它们不在那里
我没有注意到您的代码存在问题,因此它一定来自您没有向我们展示的其他内容(另一个参数提供了一个) 下面是一个让你自己开始的例子:
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;
public class TestScrollbars {
protected void initUI() {
final JFrame frame = new JFrame();
frame.setTitle(TestScrollbars.class.getSimpleName());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JProgressBar bar = new JProgressBar(JProgressBar.VERTICAL);
bar.setEnabled(true);
bar.setBackground(Color.YELLOW);
bar.setForeground(Color.GREEN);
bar.setStringPainted(true);
bar.setString("2000 g");
bar.setValue(65);
frame.setLayout(new BorderLayout());
frame.add(bar, BorderLayout.CENTER);
frame.setSize(500, 400);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TestScrollbars().initUI();
}
});
}
}
以及生成的图像(其中进度条正确显示所选颜色):
也要考虑一个习惯>代码> PrasssBARIU,提到和显示。
要更快地获得更好的帮助,请发布一个。