Hallöchen,
ich sitze seit über einer Stunde an dem bekannten Problem der JProgressBar. Ich hab auch die Suchfunktion benutzt und mir die Threads durchgelesen, aber die halfen mir bei meinem spezielleren Problem nicht weiter.
Meine JProgressBar soll einen nicht vorhandenen Zustand einer Funktion darstellen. Also die JProgressBar soll sich innerhalb einer gewissen Zeit von 0 Fortschritt auf 100 auffüllen, obwohl kein Prozess läuft.
Ist dies möglich ohne zwei Threads zu benutzen, weil der PC ja keinen anderen Prozess ausführen muss? Hier mein bisheriger Code:
Ich hab probiert mit einem Timer den Fortschritt zu erhöhen und die ProgressBar neu zu zeichnen, aber es funktioniert nicht.
Vielen Dank für Antworten :wink:
MfG
BAAAM
ich sitze seit über einer Stunde an dem bekannten Problem der JProgressBar. Ich hab auch die Suchfunktion benutzt und mir die Threads durchgelesen, aber die halfen mir bei meinem spezielleren Problem nicht weiter.
Meine JProgressBar soll einen nicht vorhandenen Zustand einer Funktion darstellen. Also die JProgressBar soll sich innerhalb einer gewissen Zeit von 0 Fortschritt auf 100 auffüllen, obwohl kein Prozess läuft.
Ist dies möglich ohne zwei Threads zu benutzen, weil der PC ja keinen anderen Prozess ausführen muss? Hier mein bisheriger Code:
Code:
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
class Zeit extends TimerTask
{
public void run()
{
ProgressBar.fortschritt += 10;
ProgressBar.fort.repaint();
}
}
public class ProgressBar extends JFrame
{
static JPanel c = new JPanel();
static int fortschritt = 0;
static JProgressBar fort = new JProgressBar();
public ProgressBar()
{
c.setLayout(null);
c.add(fort);
fort.setBounds(200, 200, 200, 30);
fort.setValue(fortschritt);
setContentPane(c);
}
public static void main(String[] args)
{
JFrame fenster = new ProgressBar();
fenster.setVisible(true);
fenster.setSize(500, 500);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TimerTask aufgabe = new Zeit();
Timer zeitgeber = new Timer();
zeitgeber.schedule(aufgabe, 0, 100);
}
}
Ich hab probiert mit einem Timer den Fortschritt zu erhöhen und die ProgressBar neu zu zeichnen, aber es funktioniert nicht.
Vielen Dank für Antworten :wink:
MfG
BAAAM