J'utilise un jprogressbar pour indiquer l'état de disponibilité. Je souhaite afficher un texte de 40% [hypothèse] dans la barre de progression . comment faire? le texte a été modifié en fonction de la valeur de disponibilité
Vous pouvez utiliser:
Initialisation:
progressBar.setStringPainted(true);
Mise à jour:
progressBar.setValue(newValue);
J'utilise un jprogressbar pour indiquer l'état de disponibilité.
s'il vous plaît lire tutoriel sur JProgressBar
je veux afficher un texte de 40% [hypothèse] à l'intérieur de la barre de progression.
Utilisation de barres de progression déterminées dans le didacticiel JProgressBar
comment faire? le texte a été modifié en fonction de la valeur de disponibilité
plus dans le tutoriel SwingWorker
Utilisez setStringPainted(true)
pour afficher le Pourcentage des travaux terminés.
Utilisez setValue()
qui vous aidera à définir le valeur incrémentielle et setString()
pour afficher le message end message une fois terminé ...
Voici un exemple tiré de ma base de code:
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();
}
});
Cela montrera la progression à l'intérieur du bar
progressBar.setStringPainted(true);
Cela montre le pourcentage de progression dans la barre de progression
progressBar.setStringPainted(true);
Je ne sais pas si votre [assumption]
fait partie de la chaîne que vous voulez afficher. Si oui, la solution complète serait quelque chose comme:
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);
}
... car vous seriez incapable de vous fier à la chaîne par défaut qui affiche simplement le pourcentage.
Deux choses que vous devriez remarquer ici. Ce sont,
1) Vous devez définir la variable paintString de JProgressBar à l'aide de la méthode setStringPainted. Tu peux faire ça comme
jprogressBar.setStringPainted (true)
vous devez le faire parce que
isStringPainted ()
la méthode doit renvoyer la valeur true si la barre de progression doit afficher les valeurs ou le pourcentage de progression.
2) Maintenant, pour personnaliser avec votre valeur personnalisée, définissez votre instance personnalisée sur jprogressBar en utilisant
jprogressBar.setString (customString)
alors cela devrait bien fonctionner.
Voici le lien du tutoriel qui montre comment définir la valeur (c'est-à-dire 10% ou 40% ...) en fonction du statut de la barre de progression http://docs.Oracle.com/javase/tutorial/uiswing/components /progress.html