Ich verwende eine Fortschrittsanzeige, um den Verfügbarkeitsstatus anzuzeigen. Ich möchte einen Text von 40% [Annahme] in der Fortschrittsleiste anzeigen . wie es geht? Der Text wurde entsprechend dem Verfügbarkeitswert geändert
Sie können verwenden:
Initialisierung:
progressBar.setStringPainted(true);
Aktualisierung:
progressBar.setValue(newValue);
Ich benutze eine jprogressbar, um den Verfügbarkeitsstatus anzuzeigen.
bitte lesen Sie Tutorial über JProgressBar
ich möchte einen Text von 40% [Annahme] in der Fortschrittsleiste anzeigen.
Bestimmen der Fortschrittsbalken im JProgressBar-Tutorial
wie es geht? Der Text wurde entsprechend dem Verfügbarkeitswert geändert
mehr im SwingWorker-Tutorial
Verwenden Sie setStringPainted(true)
, um den Prozentsatz der abgeschlossenen Arbeit anzuzeigen.
Verwenden Sie setValue()
, um den inkrementellen Wert einzustellen und setString()
, um die end-Meldung anzuzeigen , wenn Sie fertig sind ...
Hier ist ein Beispiel aus meiner Code-Basis:
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();
}
});
Dadurch wird der Fortschritt in der Leiste angezeigt
progressBar.setStringPainted(true);
Dies zeigt den Prozentsatz des Fortschritts in der Fortschrittsleiste
progressBar.setStringPainted(true);
Ich bin unklar, ob Ihr [assumption]
Teil der Zeichenfolge ist, die angezeigt werden soll. Wenn ja, wäre die Komplettlösung etwa so:
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);
}
... da Sie sich nicht auf die Standardzeichenfolge verlassen können, die lediglich den Prozentsatz anzeigt.
Zwei Dinge, die Sie hier beachten sollten. Diese sind,
1) Sie müssen die paintString-Variable von JProgressBar mit der setStringPainted-Methode festlegen. Das kannst du gerne machen
jprogressBar.setStringPainted (true)
sie müssen das tun, weil,
isStringPainted ()
die Methode sollte true zurückgeben, wenn der Fortschrittsbalken die Werte oder den Prozentsatz des Fortschritts darauf anzeigen muss.
2) Legen Sie nun mit Ihrem benutzerdefinierten Wert die benutzerdefinierte jprogressBar-Instanz mit an
jprogressBar.setString (customString)
dann sollte es gut funktionieren.
Hier ist der Tutorial-Link, der zeigt, wie der Wert (dh 10% oder 40% ...) entsprechend dem Status der Fortschrittsleiste eingestellt wird http://docs.Oracle.com/javase/tutorial/uiswing/ components/progress.html