Swing JProgressBar Indeterminate bleibt stehen bei neuem Fenster

taaz

Mitglied
Hallo,

ich versuche mal mein Problem etwas zu schildern.
Da ich aber eine ganze menge Code dafür habe, lasse ich den erstmal weg und liefere den auf Anfrage nach.

Ich habe ein Fenster (JFrame), wo ich eine ProgressBar platziert habe, welche sich bewegt (setIndeterminate(true)).
Sobald ich nun eine Aktion ausführe (Button drücken oder Enter tippen), hält die ProgressBar an, bis der Code in actionPerformed bzw. keyReleased ausgeführt wurde.
Danach bewegt sich die ProgressBar weiter.

Was mache ich falsch? :(

lg
taaz

Hier doch nochmal etwas Code:
Java:
@Override
    public void actionPerformed(ActionEvent e) {
    	System.out.println("actionPerformed started");
		
        if(e.getSource() == login){
			
            System.out.println("actionPerformed == login");
        	
            Session session = new Session(nameTxt.getText(), new String(passwordTxt.getPassword()));
            if(session.getLogin() == true){
                new MainScreenGUI();

            	//pb.setIndeterminate(false);
                this.dispose();
            }else{
            	//new ErrorDialog("Sie haben ein falsches Passwort eingegeben!");
            	passwordTxt.setText("");
            	passwordTxt.requestFocusInWindow();
            }
        
        }
    }


	@Override
	public void keyReleased(KeyEvent e) {
		if(e.getKeyCode() == KeyEvent.VK_ENTER){

			System.out.println("ENTER erkannt");
			
			
			actionPerformed(new ActionEvent(login, 1001, "Einloggen"));
			
			System.out.println("ActionPerformed finished");
			
		}
	}
 

jgh

Top Contributor
Du brauchst halt neben dem EDT noch einen weiteren Thread, der die Progressbar updatet.
Ob du nun eine Klasse schreibst die Thread erweitert, oder Runnable implementiert, oder ob du es mit SwingWorker versuchst, bleibt dir überlassen...vom geschilderten Verhalten lässt sich ableiten, dass deine Progressbar auf deinem EDT läuft und im Moment des Buttonsklick in die entsprechende actionPerformed-Methode springt, dort die Befehle ausführt und erst dann weiter zeichnet, wenn sie wieder zurückgekehrt ist.
 

bERt0r

Top Contributor
Da du, so wie ich das verstehe, ja einen Progressbar haben willst, der einfach herumprogressed brauchst du dafür keinen eigenen Thread, für das neue Fenster aber schon. Du darfst so wie jgh gesagt hat deine Mainscreen GUI nicht im EDT deines Fensters erstellen. Mach Eventqueue.invokeLater
Java:
EventQueue.invokeLater( new Runnable() 
{ 
  public void run() { 
    new MainScreenGUI();
  } 
} );
 

taaz

Mitglied
Danke euch beiden für die Antworten.
Für mich sieht der Vorschlag von bERt0r leichter umzusetzen aus, allerdings habe ich es noch nicht hinbekommen.
Theoretisch müsste ich doch den Codeteil einfach nur kopieren und bei mir einfügen, oder?

Wahrscheinlich liegt es daran, dass ich die Progressbar an der falschen Stelle anspreche? Weil es wird ja trotzdem in die einzelnen Methoden gesprungen?

Vor meinem new MainScreenGUI(); werden ja noch einige andere Abfragen ausgeführt, um den Login zu verifizieren. Schon dabei bleibt ja meine ProgressBar stehen.

Ich brauche hier nochmal einen Gedankenanstoß :)

lg
taaz
 
S

SlaterB

Gast
ich sehe keinen Sinn in der Aussage von bERt0r,
EventQueue.invokeLater() läßt etwas in dem AWT-Thread ausführen, aber da läuft der ActionListener sowieso schon,
es ist nichts gewonnen,
ein separater Thread wird wahrscheinlich benötigt, wie schon gesagt wurde,
wobei zum Teil geraten werden muss, es fehlt kompletter Code zu deiner ProgressBar

siehe auch etwas umfangreicher:
http://www.java-forum.org/bilder-gu...-progressbars-algorithmen-multithreading.html
 

bERt0r

Top Contributor
Java:
EventQueue.invokeLater( new Runnable() 
{ 
  public void run() { 
    new MainScreenGUI();
  } 
} );
Sagt dem EDT er soll einen neuen Thread (Runnable) starten der dann eben das Fenster aufmacht.
Wenn du in deinem Main Programm auf die Art und weise 2 mal den gleichen Frame startest werden die ja auch parallel angezeigt und nicht nacheinander und da ist auch keiner davon Modal.
edit: Damit meine ich sowas:
Java:
EventQueue.invokeLater( new Runnable() 
{ 
  public void run() { 
    new MainScreenGUI();
  } 
} );
EventQueue.invokeLater( new Runnable() 
{ 
  public void run() { 
    new MainScreenGUI();
  } 
} );
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JProgressBar Indeterminate AWT, Swing, JavaFX & SWT 17
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
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 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
B JProgressbar wird nicht aktualisert, trotz Threads AWT, Swing, JavaFX & SWT 6
G JProgressBar actionPerformedMethode und SwingUI thread AWT, Swing, JavaFX & SWT 36
S JProgressBar und Threads AWT, Swing, JavaFX & SWT 11
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
M Swinganwendung Threads mit JProgressBar AWT, Swing, JavaFX & SWT 7
L JProgressbar möglichst genau AWT, Swing, JavaFX & SWT 3
G JProgressBar + Thread + Client AWT, Swing, JavaFX & SWT 10
R JProgressBar ohne Threads verwenden AWT, Swing, JavaFX & SWT 6
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
D Problem mit JProgressBar und Threads AWT, Swing, JavaFX & SWT 7
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M editorPane bleibt zu klein trotz setPage AWT, Swing, JavaFX & SWT 6
H Textfield bleibt im Hintergrund AWT, Swing, JavaFX & SWT 2
D JavaFX TableView bleibt leer. AWT, Swing, JavaFX & SWT 8
T Swing Button bleibt grau [=> UI hat sich aufgehängt, Aufgabe in Thread auslagern] AWT, Swing, JavaFX & SWT 3
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
W Java Form bleibt Weiß AWT, Swing, JavaFX & SWT 7
J resize - Label bleibt erst schwarz AWT, Swing, JavaFX & SWT 4
K Swing Warum bleibt das Image immer gleich AWT, Swing, JavaFX & SWT 4
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Bild bleibt im Hintergrund bei Diashow AWT, Swing, JavaFX & SWT 3
S Java 3d Fenster bleibt grau AWT, Swing, JavaFX & SWT 4
K JButton nur dann aktivieren, wenn die Mouse 3 Sek. über dem Button bleibt AWT, Swing, JavaFX & SWT 2
B JButton - "pressed" bleibt AWT, Swing, JavaFX & SWT 4
P Swing JTextArea - beim neuzeichnen bleibt manchmal weißer Kasten AWT, Swing, JavaFX & SWT 10
N JTable, Zeile bleibt immer selektiert.... AWT, Swing, JavaFX & SWT 3
S Swing JFrame neuzeichnen - bleibt grau AWT, Swing, JavaFX & SWT 18
P Swing GridBagLayout bleibt nicht so wie es ist :( AWT, Swing, JavaFX & SWT 8
B drawImage auf JPanel bleibt ohne Auswirkungen AWT, Swing, JavaFX & SWT 9
1 JFrame bleibt leer, keine Ahnung warum AWT, Swing, JavaFX & SWT 7
A Swing JTable bleibt leer AWT, Swing, JavaFX & SWT 2
A SWT Composite bleibt leer AWT, Swing, JavaFX & SWT 7
I Swing - Problem mit ActionListener (Programm bleibt stehen) AWT, Swing, JavaFX & SWT 2
M Dialag oder Frame bleibt unsichtbar AWT, Swing, JavaFX & SWT 10
S statusleiste bleibt leer und gui hängt AWT, Swing, JavaFX & SWT 3
Bernasconi JDialog - Inhalt bleibt weiß AWT, Swing, JavaFX & SWT 8
Paule JFrame bleibt leer, wieso? AWT, Swing, JavaFX & SWT 2
F JFrame bleibt grau AWT, Swing, JavaFX & SWT 24
M Wo bleibt mein ScrollPane? AWT, Swing, JavaFX & SWT 3
B JList bleibt einfach mal stehen AWT, Swing, JavaFX & SWT 2
M Es bleibt immer noch eine Javaw instanz zurück AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben