JProgressBar und Threads

Status
Nicht offen für weitere Antworten.

Salcano

Neues Mitglied
Hi,

mein Problem ist folgendes: Wenn der Benutzer bei mir auf einem Button klick, startet eine Funktion die aus der Datenbank was ausliesst und diese Werte in eine JTable schreibt. Da sich die Tabelle erst aktualisiert wenn alle Werte ausgelesen sind möchte ich ein Progressbar in einem anderen Fenster anzeigen lassen, der den Vortschritt des Auslesens anzeigt. Aber irgendwie will das nicht.

Hier mein Code:

Code:
private void ListQueryPopupActionPerformed(java.awt.event.ActionEvent evt)
{
WriteValues();
}

public void WriteValues()
{
        ReloadWindow =new Reload();
        for( int i=1;i<SecurityTableModel.getColumnCount();i++)
        {
            ReloadWindow.setProgessBar(i);
            //lese aus datenbank
        }
        ReloadWindow.setProgressbar(0);
        ReloadWindow.dispose();
}

und hier das extrafenster:

Code:
import javax.swing.*; 
public class Reload extends JFrame 
{ 
    JProgressBar bar = new JProgressBar(0, 10000);
    Reload() 
    { 
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        add(bar);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }

  public static void main( String[] args )
  { 
  }
  
  public void setProgressbar(int i)
  {
        bar.setValue( i );
  }
  public void initProgressbar(int min,int max)
  {
      bar.setMinimum(min);
      bar.setMaximum(max);
  }

Warum aktualisiert er den Progress bar nicht und warum wird die Tabelle nicht aktualisiert wenn ich ein wert reinschreibe bzw. lösche.
???:L

Ich weiss das es was mit den Threads zu tun hat aber irgendwie versteh ich die ganze Sache noch nicht...

Schon mal Danke für eure Hilfe.
 

Shai

Aktives Mitglied
hm.. das würde mich auch mal interessieren.

kannst du (oder jemand anderes) die Lösung posten sobald du sie hast?

das wäre sehr nett.
 

Oli

Top Contributor
Hallo,

die Lösung für dein Problem ist auf der Seite, die dir Marco gezeigt hat, beschrieben. Ein bisschen Eigeninitiative wird schon erwartet.
Und eine Lösung wird dir hier niemand posten. Les dir durch was dort steht, versuche es selbst und wenn du dann nicht weiterkommst, poste deine Versuche.
Dann wird dir auch gerne geholfen.
 
S

SlaterB

Gast
User Shai ist nicht User Salcano, der Ursprungsposter
User Shai hat also durchaus das Recht, hier ganz unverbindlich nach einer nebenbei abfallenden fertigen Lösung zu fragen, falls diese vom Ursprungsposter erstellt wurde,

Standardantworten wie 'Versuche posten/ hier diskutieren' passen da nicht


kurz: Shai != Salcano
 

Oli

Top Contributor
Oh, da muss ich mich aber fett entschuldigen. Hab ich übersehen. :oops:

Dafür poste ich halt mal eine Möglichkeit:

Code:
public class ProgressBar {

	private JProgressBar progressBar = new JProgressBar();

	private Thread thread;

	private JFrame f;
	JPanel p;
	private boolean running = true;

	public ProgressBar() {
		f = new JFrame();
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		f.setSize(new Dimension(300, 100));
		// Mittig platzieren
		Toolkit myToolkit = Toolkit.getDefaultToolkit();
		Dimension myDimension = myToolkit.getScreenSize();
		f.setLocation((int) ((myDimension.getWidth() - f.getSize().width) / 2),
				(int) ((myDimension.getHeight() - f.getSize().height) / 2));

		p = new JPanel(new VerticalFlowLayout());

		p.add(new JPanel(new BorderLayout()).add(new JLabel(
				"<HTML><H3><CENTER>Daten werden geladen</HTML>", JLabel.CENTER)));

		progressBar = new JProgressBar(1, 100);
		progressBar.setStringPainted(false);

		p.add(progressBar);
		f.add(p);
		f.setTitle("Statusanzeige");
		f.setResizable(false);
		f.setVisible(true);
		f.setAlwaysOnTop(true);
	}

	public void start() {
		thread = new Thread(new Runnable() {
			int i = 1;
			public synchronized void run() {
				while (running) {
					try {
						Thread.sleep(100);
					} catch (InterruptedException e) {
					}
					if (i == 100) {
						i = 1;
					}
					final int j = i;
					SwingUtilities.invokeLater(new Runnable() {
						public void run() {
							progressBar.setValue(j);
							progressBar.updateUI();
							i++;
						}
					});
				}
			}
		});
		thread.start();
	}

	public synchronized void stop() {
		running = false;
		f.dispose();
	}
}


Aufrufen mit:

Code:
final ProgressBar p = new ProgressBar();
Thread thread=null;
p.start();
thread = new Thread(new Runnable() {
 public void run() {
  while (thread != null) {
   // DATEN LADEN
   thread = null;
   p.stop();
  }
 }
});
thread.start();

Sorry nochmal....
 
S

SlaterB

Gast
naja, so nun auch nicht,
sonst merkt sich das noch jemand, dass man nur mit nem zweiten Account noch mal reinfragen muss ;)
 

FArt

Top Contributor
Shai hat gesagt.:
hehe keine angst. ich bin nicht der andere, da hast schon vollkommen recht :)

Egal... "me too" Postings helfen niemandem.

Entweder du hast das gleiche Problem, dann versuche es so zu lösen wie hier vorgeschlagen. Der Link passt für dich genau so gut.

Oder du hast ein anderes Problem. Dann mache einen eigenen Thread auf, denn sonst besteht die Gefahr, dass dieser Thread sich nicht in die Richtung entwickelt, die den ursprünglichen Poster weiter bringt.

Was auf beide passt: Google, Forensuche, SUN Tutorials... schon erledigen sich die meisten Threads von alleine.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JProgressbar wird nicht aktualisert, trotz Threads AWT, Swing, JavaFX & SWT 6
M Swinganwendung Threads mit JProgressBar AWT, Swing, JavaFX & SWT 7
R JProgressBar ohne Threads verwenden AWT, Swing, JavaFX & SWT 6
D Problem mit JProgressBar und Threads AWT, Swing, JavaFX & SWT 7
J Rekursive Methode JProgressBar AWT, Swing, JavaFX & SWT 4
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
A Swing JProgressbar im Windows Look & Feel Farbanpassung AWT, Swing, JavaFX & SWT 2
G JProgressBar: Verständnis Problem AWT, Swing, JavaFX & SWT 3
S Swing JProgressBar läuft nicht mit AWT, Swing, JavaFX & SWT 12
T Swing JProgressBar mit String unschön AWT, Swing, JavaFX & SWT 5
H jprogressbar während datenabfrage anzeigen AWT, Swing, JavaFX & SWT 5
P Problem Thread.sleep() und JProgressBar AWT, Swing, JavaFX & SWT 7
E Swing JProgressBar updaten AWT, Swing, JavaFX & SWT 3
D Swing JProgressBar soll ende erkennen AWT, Swing, JavaFX & SWT 4
V Swing JProgressBar aktualisieren AWT, Swing, JavaFX & SWT 14
M JProgressBar updatet nicht AWT, Swing, JavaFX & SWT 4
T Swing JProgressBar Indeterminate bleibt stehen bei neuem Fenster AWT, Swing, JavaFX & SWT 6
A JProgressBar updaten abhängig vom Output eines externen Skripts AWT, Swing, JavaFX & SWT 2
M JProgressBar für einen Thread AWT, Swing, JavaFX & SWT 14
J JProgressBar Indeterminate AWT, Swing, JavaFX & SWT 17
J JProgressBar Farbverlauf AWT, Swing, JavaFX & SWT 2
O Probleme mit JProgressBar bei der Statusanzeige AWT, Swing, JavaFX & SWT 5
S jProgressbar von einem Download AWT, Swing, JavaFX & SWT 6
C Swing JProgressBar in JDialog wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
S Swing StatusLeiste mit JProgressBar AWT, Swing, JavaFX & SWT 4
S JProgressBar in Abhängigkeit eines FileInputStreams AWT, Swing, JavaFX & SWT 2
S (Applets) JProgressBar wird erst am Ende angezeigt AWT, Swing, JavaFX & SWT 13
S Problem mit JProgressBar AWT, Swing, JavaFX & SWT 3
E Swing DB Zugriff mit JProgressBar?! AWT, Swing, JavaFX & SWT 8
C Swing JProgressBar Aktualisiert sich nicht. AWT, Swing, JavaFX & SWT 9
M JProgressBar Look and Feel AWT, Swing, JavaFX & SWT 5
C JProgressBar und JLabel AWT, Swing, JavaFX & SWT 5
K JProgressBar transparent AWT, Swing, JavaFX & SWT 10
M JProgressBar AWT, Swing, JavaFX & SWT 2
K JProgressBar für Serialisierung AWT, Swing, JavaFX & SWT 6
multiholle [JProgressBar] Raster deaktivieren AWT, Swing, JavaFX & SWT 14
M JProgressBar übereinander legen? AWT, Swing, JavaFX & SWT 3
G JProgressBar actionPerformedMethode und SwingUI thread AWT, Swing, JavaFX & SWT 36
G Repaint bei JProgressBar AWT, Swing, JavaFX & SWT 3
A Richtiger Umgang mit jProgressBar AWT, Swing, JavaFX & SWT 2
H JProgressBar in TableColumn von JTable setzen/abfragen AWT, Swing, JavaFX & SWT 5
B JProgressBar: wie muss ich das lösen? AWT, Swing, JavaFX & SWT 4
R JProgressBar-Verhalten AWT, Swing, JavaFX & SWT 5
G JProgressbar AWT, Swing, JavaFX & SWT 8
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
C JProgressBar und ihre Tücken AWT, Swing, JavaFX & SWT 8
G JProgressBar in JTable AWT, Swing, JavaFX & SWT 6
G Probleme mit JProgressbar auf JPanel in JFrame AWT, Swing, JavaFX & SWT 6
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
T JProgressBar und CMP Bean AWT, Swing, JavaFX & SWT 2
J JProgressBar flackert AWT, Swing, JavaFX & SWT 14
S JProgressBar zu JOptionPane hinzufügen. AWT, Swing, JavaFX & SWT 8
L JProgressbar möglichst genau AWT, Swing, JavaFX & SWT 3
G JProgressBar + Thread + Client AWT, Swing, JavaFX & SWT 10
I JProgressBar String anzeigen, danach wieder normale Ansicht AWT, Swing, JavaFX & SWT 3
G JProgressBar AWT, Swing, JavaFX & SWT 8
L JProgressBar wird nicht mehr aktualisiert AWT, Swing, JavaFX & SWT 2
U JProgressBar in umgekehrter Richtung AWT, Swing, JavaFX & SWT 2
S JProgressBar einbinden AWT, Swing, JavaFX & SWT 5
H JProgressBar AWT, Swing, JavaFX & SWT 6
T JProgressBar und JPG AWT, Swing, JavaFX & SWT 2
frager2345 Threads -> Ereignisbehandlung AWT, Swing, JavaFX & SWT 2
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
J GUI Ausgaben aus Threads AWT, Swing, JavaFX & SWT 13
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
N JavaFX Logging des JavaFX Application Threads mit Log4J AWT, Swing, JavaFX & SWT 3
U JAVAFX observer und threads AWT, Swing, JavaFX & SWT 1
J Textlabel verändern mit parallelen Threads AWT, Swing, JavaFX & SWT 7
Sugan Inhalte mit Threads ändern -> java.lang.IllegalStateException AWT, Swing, JavaFX & SWT 6
R Straßenkreuzung - Ampeln mit Threads koordinieren AWT, Swing, JavaFX & SWT 5
C Threads Swing AWT, Swing, JavaFX & SWT 11
Z JavaFX Threads AWT, Swing, JavaFX & SWT 4
T hallo, habe ein Problem mit dem pro. eines Threads AWT, Swing, JavaFX & SWT 4
M Threads - nicht erklärbare Exception AWT, Swing, JavaFX & SWT 6
R Repaint() in Schleifen, Threads AWT, Swing, JavaFX & SWT 13
S Java Swing GUI mit MVC und Threads AWT, Swing, JavaFX & SWT 6
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
K Threads - Timer - run() mehrfach parallel? AWT, Swing, JavaFX & SWT 2
B GUI mit Threads aufbauen AWT, Swing, JavaFX & SWT 5
E Threads Ausgaben in GUI anzeigen lassen AWT, Swing, JavaFX & SWT 14
P JavaFX 2 (2.1 Beta) Threads AWT, Swing, JavaFX & SWT 7
B Threads in Swing AWT, Swing, JavaFX & SWT 4
M Problem mit Threads AWT, Swing, JavaFX & SWT 64
R Swing Java Swing Gui und nebenläufige Threads AWT, Swing, JavaFX & SWT 4
S Swing Threads Windows 7 64 bit AWT, Swing, JavaFX & SWT 12
J Threads + JFrame AWT, Swing, JavaFX & SWT 4
R Java threads und synchronized AWT, Swing, JavaFX & SWT 15
R Swing Swing und die Threads AWT, Swing, JavaFX & SWT 9
N Swing Threads sollen Tabtitel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 4
S Gui und Aufgaben Threads AWT, Swing, JavaFX & SWT 12
M Zugriff paralleler Threads auf selbes JTextPane AWT, Swing, JavaFX & SWT 6
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
M Prioritäten bei SwingWorker / Threads AWT, Swing, JavaFX & SWT 9
B Swing GUI und Threads AWT, Swing, JavaFX & SWT 4
R Korrektes manipulieren der GUI aus anderen Threads heraus AWT, Swing, JavaFX & SWT 19
S Threads und Layout AWT, Swing, JavaFX & SWT 9
S Threads in einen Frame zeichnen lassen (Paint()?!) AWT, Swing, JavaFX & SWT 5
W GUI in mehreren Threads AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben