2014-09-03 3 views
1

Я запускаю программу сканирования вирусов (начиная с создания), но я устанавливаю JProgressBar в неопределенный режим, а метод setString (String str) не отображает строку. Если я не использую неопределенный индикатор выполнения, строка отображается нормально.Неопределенный JProgressBar Не отображает String

EDIT: Часть кода:

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

+0

Дайте нам код. – AndreDuarte

+1

@AndreDuarte Там вы идете! –

+0

Код, который вы предоставили, работает на моей машине, в какой операционной системе, jdk-поставщике и версии вы работаете. – pfranza

ответ

1

Вы должны помнить, чтобы установить setStringPainted(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); 
    } 
} 
+0

Это не помогло. Сожалею. См. Правки. –

+0

Является ли образец кода, который я предоставил, для вас? – pfranza