Как добавить текст на jprogressbar?

Я использую jprogressbar, чтобы указать статус доступности.   Я хочу отобразить текст 40% [предположение] внутри панели прогресса.  как это сделать? текст был изменен в соответствии со значением доступности

Ответы

Ответ 1

Вы можете использовать:

Инициализация:

progressBar.setStringPainted(true);

Обновление:

progressBar.setValue(newValue);

Ответ 2

Ответ 3

  • Используйте setStringPainted(true), чтобы показать завершенную работу Процент.

  • Используйте setValue(), который поможет установить инкрементное значение и setString() для отображения окончательного сообщения, когда это будет сделано.

Вот пример из моей базы кода:

final JProgressBar bar = new JProgressBar(0 , 100);  // 0 - min , 100 - max
bar.setStringPainted(true);
panel.add(bar);                   // panel is a JPanel 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();
            }
        });

Ответ 4

Это покажет ход внутри панели

   progressBar.setStringPainted(true);

Ответ 5

Показывает процент выполнения в строке выполнения

progressBar.setStringPainted(true);

Ответ 6

Непонятно, является ли ваш [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);
}

... поскольку вам не удастся полагаться на строку по умолчанию, которая просто отображает процент.

Ответ 7

Две вещи, которые вы должны заметить здесь. Это

1) Вы должны установить переменную paintString JProgressBar с помощью метода setStringPainted. Вы можете сделать это как

jprogressBar.setStringPainted(истина)

вам нужно сделать это, потому что

isStringPainted()

метод должен возвращать значение true, если индикатор выполнения должен показывать значения или процент выполнения на нем.

2) Теперь, чтобы настроить с помощью своего пользовательского значения, настройте свой пользовательский экземпляр на экземпляре jprogressBar, используя

jprogressBar.setString(customString)

тогда он должен работать нормально.