不确定JProgressBar不显示String

时间:2014-09-03 18:41:46

标签: java jprogressbar

我正在制作病毒扫描程序(开始制作)但我将JProgressBar设置为不确定模式,而setString(String str)方法不显示字符串。如果我不使用不确定的进度条,则字符串显示正常。

修改 一些代码:

import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class Testthing {
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JProgressBar bar = new JProgressBar(0, 100);
        bar.setIndeterminate(true);
        bar.setStringPainted(true);
        bar.setString("Testing");
        frame.add(bar);
        frame.setDefaultCloseOperation(3);
        frame.setSize(500, 500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

此代码创建以下框架: Frame image

1 个答案:

答案 0 :(得分:1)

您必须记住将setStringPainted(true)设置为true。 The default value is false

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class ProgressBar {
  public static void main(String[] args) {
    JProgressBar progressBar = new JProgressBar();
    progressBar.setIndeterminate(true);
    progressBar.setString("Loading...");
    // This is the important line 
    progressBar.setStringPainted(true);


    JFrame f = new JFrame();
    f.setLayout(new FlowLayout());
    f.add(progressBar);
    f.pack();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setResizable(false);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
  }
}