while loop, Button action

Devil0s

Aktives Mitglied
Ich fange jetzt grade an Java zu lernen, beschaeftige mich jetzt grade mit GUI usw..
und ich bin auf folgendes Problem gestossen.

Ich wollte eine Stoppuhr programmieren.
Ich hab mit Netbeans(mit dem GUI-Builder) eine GUI erstellt mit Buttons, einem Textfeld usw...
Jetzt wollte ich auf Knopfdruck den Text im Textfeld aendern.
Das wenn ich den Stopbutton druecke das Textfeld sich zu der gestoppten Zeit aendert.
Nun wollte ich gerne das das Label sich Zeitgleich (der zumindest alle 100 Milisekunden aendern naemlich zur gerade laufender Zeit).
Ich denke, dass es einen loop geben muesste, da sich das Textfeld ja immer "erneuern" soll.
Ich habe das einmal mit einem while loop probiert und dann nochmal mit einem do...while loop.
Die Variable Zahl habe ich als 2 definiert und die Zeiten sind alle vom Typ double.
So sieht das jetzt im Moment aus:


Java:
private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        
        zeit1 = System.currentTimeMillis();
        
        do {
     
        zeit2 = System.currentTimeMillis();        
        zeit3 = zeit2 - zeit1;
        zeitEnde = zeit3 / 1000;
        textfeld.setText(" " + zeitEnde);
        
            
        } while (zahl1 != 1);
      
        
        textfeld.setText(" " + zeitEnde);
          
    }                                           

    private void stopButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
        


       int zahl1 = 1;

                   textfeld.setText(" " + zeitEnde);

Mein Problem dabei ist jetzt, dass wenn ich den Startbutton druecke (auf der GUI) er gedrueckt bleibt als ob das Programm sich aufgehaengt hat.
Ich kann den Stopbutton leider auch nicht druecken.
Es liegt nicht am Button.
Der hat davor ja FUNKTIONIERT als das ganze so war:

Java:
private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        
        zeit1 = System.currentTimeMillis();
        

          
    }                                           

    private void stopButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
        
       
       zeit2 = System.currentTimeMillis();
       zeit3 = zeit2 - zeit1;
       zeitEnde = zeit3 / 1000;
       textfeld.setText(" " + zeitEnde);

Koennte es vielleicht daran liegen, das man loops nicht der actionEvents von GUI nehmen darf/kann oder

Ich hoffe ihr koennt mir helfen
Vielen danke.
Devil0s

PS: Ich habe das komplette Programm im Anhang wenn ihr noch mehr Infos wollt/braucht. ;)
 

Anhänge

  • stoppuhr.java
    8,9 KB · Aufrufe: 8
Zuletzt bearbeitet von einem Moderator:

jgh

Top Contributor
[ot]s***** gui-builder!!!![/ot]

deine "Stoppuhr" läuft wahrscheinlich auf dem EDT, also wird solange die GUI blockiert.
Lass deine Stoppuhr in einem eigenen Thread laufen(extends Thread, oder implements Runnable) und schon wird das prob erledigt sein ;)
 

Devil0s

Aktives Mitglied
Ich versteh Threads irgentwie nicht. :(
Koennte vielleicht mir einer das mal anhand des Code(den ich weiter oben gepostet habe) demonstrieren??
Waer echt nett. ;)
 

irgendjemand

Top Contributor
ganz einfach

die GUI läuft im EDT ...
der is dafür zuständig die eingaben vom user entgegenzunehmen und die GUI zu verändern ...

alles andere sollte nach möglichkeit in einem unabhängigen thread davon laufen ...

das nennt "parallelisierung" ...

stells dir so vor

die GUI läuft auf einem cpu kern ... und alles andere auf nem anderen ... so freezed die GUI nich

wenn du threads nich verstehst zieh dir das kapitel "Threads" aus der javainsel dazu rein
 
G

Gast2

Gast
Hier ne kleines Beispiel. Sollte eigentlich selbsterklärend sein, falls Fragen sind stell se einfach:

Java:
public static void main(String[] args) {
	JFrame frame = new JFrame("Threads");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	final JLabel counterLabel = new JLabel("0");
	JButton button = new JButton("Count!");
	button.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			new Thread(new Runnable() {
				@Override
				public void run() {
					for (int i = 0; i < 10; i++) {
						counterLabel.setText(String.valueOf(i));
						doSleep(1000);
					}
				}
				
				private void doSleep(int i) {
					try {
						Thread.sleep(i);
					} catch (InterruptedException ie) { }
				}
			}).start();
		}
	});
	
	frame.add(counterLabel, BorderLayout.NORTH);
	frame.add(button, BorderLayout.SOUTH);
	frame.pack();
	frame.setVisible(true);
}
 
V

vanny

Gast
Ich hab dir nen link geschickt, da habe ich ein Videotutorial zu genau deinem Thema.

Stopuhr programmieren mit Parrallelisierung!

Also zur not musste den Code nur nachschreiben und hättest es schon im Sack.:joke:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ranger229 Endless loop in while Schleife Java Basics - Anfänger-Themen 3
P Best Practice While loop schleife Java Basics - Anfänger-Themen 5
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
W While-Loop unterbrechen Java Basics - Anfänger-Themen 4
S Warum erlaubt ein while-Loop keine Variablen-Declaration wie der for-Loop..? Java Basics - Anfänger-Themen 6
E Integer oder Strings spiegeln (in while loop) Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
M While-Schleife mit Wartezeit Java Basics - Anfänger-Themen 15
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
Ostkreuz While Schleife neustarten Java Basics - Anfänger-Themen 20
S Erste Schritte do-while Schleife Münzwurf Java Basics - Anfänger-Themen 1
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
Say do-While Code Ausführung Java Basics - Anfänger-Themen 3
Say do-while Syntak Java Basics - Anfänger-Themen 3
A Return in While Schleife Java Basics - Anfänger-Themen 6
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
J do..while Schleife Java Basics - Anfänger-Themen 14
W Wiederkehrende Konsolen-Anzeige mit do-While?! Java Basics - Anfänger-Themen 33
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
B Zuweisungen und Methodenaufrufe in Bedingung der while Schleife? Java Basics - Anfänger-Themen 2
JavaBeginner22 Würfeln bis 6 while Schleife Java Basics - Anfänger-Themen 13
G while.next() Verständnisfrage Java Basics - Anfänger-Themen 16
L while Schleife mit 2 Bedingung endet nicht Java Basics - Anfänger-Themen 3
D Array mit while-schleife Java Basics - Anfänger-Themen 12
B do while Schleife Java Basics - Anfänger-Themen 3
SergioCK Do while Schleife wiederholen Java Basics - Anfänger-Themen 14
Informatikf Methoden While Schleife Java Basics - Anfänger-Themen 3
M While Schleife? Java Basics - Anfänger-Themen 4
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
A Wie schaffe ich das eine while Schleife addiert danach subtrahirt? Java Basics - Anfänger-Themen 1
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
J for /while Schleife Java Basics - Anfänger-Themen 5
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
S Do-While-Schleife Java Basics - Anfänger-Themen 2
S While Schleife Java Basics - Anfänger-Themen 4
S Do-While Schleife Java Basics - Anfänger-Themen 6
J Von While zu for Java Basics - Anfänger-Themen 42
G While/If Programm Java Basics - Anfänger-Themen 2
L String in Do-While-Schleife Abbruchkriterium Java Basics - Anfänger-Themen 1
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
G Flussdiagramm-Do while Java Basics - Anfänger-Themen 4
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
B Verschachtelung von For-Schleife in While Schleife Java Basics - Anfänger-Themen 14
G while schleife Java Basics - Anfänger-Themen 11
G while schleife mit array Java Basics - Anfänger-Themen 12
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
I Do-While / Kalkulator / Bitte um Hilfe Java Basics - Anfänger-Themen 9
G While schleife Java Basics - Anfänger-Themen 2
mor16Euro Erste Schritte Wie nennt man eine While oder For schleife die nie Ausgeführt wird Java Basics - Anfänger-Themen 5
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
N while Schleife wird nicht beendet, obwohl Sie hätte breaken sollen Java Basics - Anfänger-Themen 4
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
O Erste Schritte Zahlendreieck mit While Java Basics - Anfänger-Themen 2
D Break Sprungmarken Problem einer While True in While True Java Basics - Anfänger-Themen 6
A Erste Schritte while-Schleife Java Basics - Anfänger-Themen 38
X While Do schleife funtioniert nicht Java Basics - Anfänger-Themen 5
J 2 "while"-Anweisungen in einer do-Schleife? Java Basics - Anfänger-Themen 4
W while Schleife und Bedingung Java Basics - Anfänger-Themen 11
T While Schleife funktioniert nicht Java Basics - Anfänger-Themen 14
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
J While Schleife Java Basics - Anfänger-Themen 19
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Methode mit While-Schleife und If-Bedingung und Array-Initialisierung Java Basics - Anfänger-Themen 4
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
E Threads Thread in While-Schleife nur einmal starten Java Basics - Anfänger-Themen 2
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
R While-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 24
b1ck while-Schleife Java Basics - Anfänger-Themen 10
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
kilopack15 DoWhile-Schleife als While-Schleife darstellen Java Basics - Anfänger-Themen 9
A While-Schleife funktioniert nicht! Java Basics - Anfänger-Themen 33
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
E Alphabet mit einer while Schleife ausgeben Java Basics - Anfänger-Themen 3
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
F Reached end while parsing Java Basics - Anfänger-Themen 6
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben