如何在jprogressbar上添加文本?

时间:2012-08-02 11:30:29

标签: java swing desktop jtextfield jprogressbar

我正在使用jprogressbar来指示可用性状态。  我想在进度条中显示40%[假设]的文字。  怎么做?文本根据可用性值

进行了更改

8 个答案:

答案 0 :(得分:40)

您可以使用:

正开始:

progressBar.setStringPainted(true);

更新

progressBar.setValue(newValue);

答案 1 :(得分:3)

答案 2 :(得分:3)

  • 使用setStringPainted(true)显示已完成工作的百分比

  • 使用setValue()有助于设置增量值setString()可在完成时显示结束消息 ... < / p>

以下是我的代码库中的示例:

final JProgressBar bar = new JProgressBar(0 , 100);  // 0 - min , 100 - max
bar.setStringPainted(true);
panel.add(bar);                   // panel is a JPanel's Obj reference variable

JButton butt = new JButton("start");
butt.addActionListener(){

    public void actionPerformed(){
        new Thread(new Runnable(){
            public void run(){
                int x = 0;
                while(x<=100) {
                    x++;
                    bar.setValue(x);        // Setting incremental values
                    if (x ==  100 ){
                        bar.setString("Its Done");   // End message
                        try{
                            Thread.sleep(200);
                        }catch(Exception ex){ }
                    }
                }).start();
            }
        });

答案 3 :(得分:2)

这将显示栏内的进度

   progressBar.setStringPainted(true);

答案 4 :(得分:1)

这显示了进度条中的进度百分比

progressBar.setStringPainted(true);

答案 5 :(得分:0)

我不清楚你的[assumption]是否是你想要显示的字符串的一部分。如果是这样,完整的解决方案将是:

private static final String PROGRESS_MASK = "%d%% [assumption]";

public void someMethod() {
  ...

  progressBar.addChangeListener(new ChangeListener() {
    @Override
    void stateChanged(ChangeEvent e) {
      progressBar.setString(String.format(PROGRESS_MASK,
        progressBar.getValue()));
    }
  }

  progressBar.setStringPainted(true);
}

...因为您无法依赖仅显示百分比的默认字符串。

答案 6 :(得分:0)

这里你应该注意两件事。那些是,

1)您必须使用setStringPainted方法设置JProgressBar的paintString变量。你可以这样做

  

jprogressBar.setStringPainted(真)

你必须这样做,因为,

  

isStringPainted()

如果进度条必须显示其上的值或进度百分比,则

方法应返回true。

2)现在要使用您的自定义值进行自定义,请使用

在jprogressBar实例上设置自定义
  

jprogressBar.setString(customString)

那么它应该可以正常工作。

答案 7 :(得分:0)

以下是教程链接,其中显示了如何根据进度条http://docs.oracle.com/javase/tutorial/uiswing/components/progress.html

的状态设置值(即10%或40%...)