run() wird nicht ausgeführt...???

Status
Nicht offen für weitere Antworten.

biker126

Bekanntes Mitglied
hallöchen,

hab ein eher seltsames problem. und zwar wird offenbar meine run() funktion nicht ausgeführt!
der Thread wird aber gestartet (genau einmal, so wie er auch soll...).
hat jemand ne idee woran das liegen könnte?

Code:
public void run()
{
   try
   {
        Thread.sleep(1000);
   } catch (InterruptedException e){}   
   sec++;
   System.out.println("sec= "+sec);
   repaint();		
}

Code:
public void mousePressed(MouseEvent event)
{
    ...
    if (!timeStarted)
    {
        timeStarted = true;
        if(thread == null)
        {
            thread = new Thread();
            thread.start();
            System.out.println("Thread gestartet");
        }
    }
    ...
}

gruss biker
 

odysseus

Bekanntes Mitglied
das
Code:
System.out.println("sec= "+sec);
wird nicht ausgegeben ??

ich glaub Dein Thread läuft 1 sekunde und ist fertig.

nach dem aufruf von start(), sollte es auf jeden fall in der methode run() weitergehen...
 

biker126

Bekanntes Mitglied
jo, das system.out wird ned ausgegeben. hab das extra zum testen eingefügt. das es nach thread.start() in der run() funktion weitergehen soll weiss ich. deshalb find ichs ja so komisch wird das system.out ned ausgegeben... kein einziges mal!
was du sagst mit "läuft 1 sec und stribt dann ab" könnte aber ne möglichkeit sein. das wäre zumindest ne erklärung, warum das system.out gar nie kommt. allerdings krieg ich auch keine interruptedExeption. und warum der thread von alleine abbrechen sollte (wenn er's denn überhaupt macht) is mir auch unklar. der soll ja bloss immer 1sec warten und dann weiterarbeiten...

hat sonst noch jmd ne idee was da ned geht???
 
B

Beni

Gast
Du musst dem Thread noch sagen WAS er ausführen soll.

Code:
Class A implements Runnable{
   ...
   public void run(){
      try {
        Thread.sleep(1000);
      } catch (InterruptedException e){}   
      sec++;
      System.out.println("sec= "+sec);
      repaint();      
   }

   public void mousePressed(MouseEvent event) 
      ...
      Thread thread = new Thread( this );
      thread.start();
      ...
   }
  ...
}

Wobei hier der Aufruf new Thread( this ) das wichtige ist.
 

me.toString

Bekanntes Mitglied
Ich denke ich weiss wo dein Problem liegt ...
Code:
thread = new Thread();
Damit erzeugtst du eine instanz der Klasse Thread. ... aber du willst ja eine Instanz von DEINER Thread-Klasse. Also wenn deine Klasse MyThread heisst muss da stehen:
Code:
thread = new MyThread();
Und da es in der Klasse Thread auch eine run()-Methode gibt (die du ja dann überschreiben willst!) wird die aufgerufen ... es kommt also kein Fehler ... nur die Methode macht nix weiter !

Vielleicht is's das ja schon ...
Michael
 

biker126

Bekanntes Mitglied
jo, daran wirds wohl liegen. danke erstmal :).
aber ich habs leider noch nicht ganz verstanden... was ich machen will ist folgendes (sollte man am code der run() funktion auch erkennen :)): ich will jede sekunde die variable sec um 1 erhöhen (also quasi einen sekundenzähler bauen).
dafür brauchts doch n eigenen thread, der unabhängig vom hauptprogramm läuft oder? soll ich dafür jetzt extra ne "MyThread"-Klasse schreiben?? oder was passiert genau wenn ich
Code:
Thread thread = new Thread(this)
mache? wobei das in der klasse
Code:
public class Fenster extends Frame implements Runnable
geschieht. mach ich dann einen 2. thread der Fenster-Klasse???
 
B

Beni

Gast
Du machst einen zweiten Thread, aber den interessiert es überhaupt nicht, dass du ein JFrame übergibst.
Das einzige was ihn interessiert ist, dass er ein Runnable kriegt, in dem es eine Methode namens run() hat, die er aufrufen darf (was run() macht, interessiert ihn auch nicht, Threads sind recht apatische Dinger)

Ob Du extra einen MyThread schreibst, oder das Runnable implementierts ist Dir überlassen, das Ergebnis ist praktisch dasselbe. (Naja, Im Sinne der Datentrennung wäre ein MyThread vielleicht schöner)

mfg Beni
 

biker126

Bekanntes Mitglied
ich hab jetzt ne "MyThread" klasse für meinen sekundenzähler gemacht und in der frame-klasse nochmal n 2. thread mit new Thread(this), der mir mein frame dann immer schön neuzeichnet (die uhr muss ja aktualisiert werden :)).
und mit deiner erklärung versteh ich glaubs auch langsam wie die dinger eigentlich funktionieren... *g*
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A code wird nicht ausgeführt Allgemeine Java-Themen 3
E Java Editor Klasse wird nicht weiter ausgeführt Allgemeine Java-Themen 4
E Schleife wird nicht ausgeführt!!! Allgemeine Java-Themen 8
M repaint() wird nicht ausgeführt Allgemeine Java-Themen 5
D Code wird im Applet nicht ausgeführt. Allgemeine Java-Themen 2
kodela ArrayList wird nicht komplett gespeichert Allgemeine Java-Themen 3
kodela HelpSet wird nicht gefunden Allgemeine Java-Themen 8
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
F Scrollbar wird nicht angezeigt Allgemeine Java-Themen 0
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
I Temp-Datei wird nicht gelöscht Allgemeine Java-Themen 12
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
FRI3ND JFrame wird nicht angezeigt Allgemeine Java-Themen 3
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
S Datei wird nicht gefunden Thread.currentThread().getContextClassLoader().getResourceAsStream() Allgemeine Java-Themen 1
mrbig2017 Sleep wird ignoriert und der Thread wartet nicht Allgemeine Java-Themen 1
mrbig2017 Threads wait wird nicht durch notify beendet! Allgemeine Java-Themen 3
kodela Klassen Klassenvariable wird nicht gesetzt Allgemeine Java-Themen 23
Arif Input/Output Serialisierung - Datei wird nicht erzeugt Allgemeine Java-Themen 3
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
T Java wird nicht gefunden Allgemeine Java-Themen 32
Z Exception wird nicht ausgelöst Allgemeine Java-Themen 2
B Abfragenteil wird nicht aufgerufen Allgemeine Java-Themen 2
G Tabelle wird nicht richtig dargestellt Allgemeine Java-Themen 9
HarleyDavidson Threads ProgressMonitor wird nicht angezeigt! Allgemeine Java-Themen 6
gamebreiti Swing JLabel wird nicht angezeigt Allgemeine Java-Themen 4
I Datei wird nicht richtig gelöscht Allgemeine Java-Themen 7
K Methoden Objekt wird nicht erkannt Allgemeine Java-Themen 11
D Input/Output Datei wird lokal aber nicht vom Webserver ausgelesen... Allgemeine Java-Themen 2
F Nach Export wird PDF Datei nicht mehr gefunden Allgemeine Java-Themen 0
I Projekt wird nicht erstellt Allgemeine Java-Themen 2
J batch datei wird nicht aufgerufen Allgemeine Java-Themen 11
M Datei wird nicht vollständig geschrieben (FileOutputStream, OutputStreamWriter, Encoding) Allgemeine Java-Themen 6
P OSGi - Bundle-Methode wird nicht aufgerufen Allgemeine Java-Themen 3
S Antlr Grammatik übersetzt ohne Fehler, dennoch wird Zahl nicht als Eingabe erkannt Allgemeine Java-Themen 4
T Variablen Variable wird als nicht genutzt angezeigt Allgemeine Java-Themen 8
I HashMap key wird nicht erkannt trotz überschriebener equals/hashCode Methode Allgemeine Java-Themen 6
I Main wird nicht gefunden Allgemeine Java-Themen 3
C E-Mail: Authenticator.getPasswordAuthentication() wird nicht gerufen Allgemeine Java-Themen 2
C Schleife mit leerem Anweisungsblock wird trotz erfüllter Bedingung nicht verlassen Allgemeine Java-Themen 9
M Klassenvariable wird nicht überschrieben. Allgemeine Java-Themen 5
Z Überschriebene setSelected() in ButtonGroup wird nicht aufgerufen Allgemeine Java-Themen 2
E JTable wird nicht angezeigt Allgemeine Java-Themen 11
B Text wird nicht richtig angezeigt Allgemeine Java-Themen 9
C Datei in Jar-File wird nicht gefunden Allgemeine Java-Themen 10
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
C Variablenwert wird nicht richtig zurückgegeben Allgemeine Java-Themen 8
I File wird in jar scheinbar nicht gefunden Allgemeine Java-Themen 6
P Mail wird nicht gesendet - Muss ich kein PW angeben ? Allgemeine Java-Themen 13
J Webstart (auf Apache) jnlp wird nicht geladen Allgemeine Java-Themen 2
D Webseite wird nicht immer komplett ausgelesen Allgemeine Java-Themen 11
B Umgebungsvariable Variable wird nicht übernommen Allgemeine Java-Themen 4
G AWT Panel wird nicht dargestellt Allgemeine Java-Themen 3
G Problem Java Mail API: CC wird nicht berücksichtigt Allgemeine Java-Themen 7
L JTextfield wird nicht ausgelesen Allgemeine Java-Themen 7
C log4j.properties wird nicht verwendet?? Allgemeine Java-Themen 3
J Swing Wird invisible, nicht-ref. Fenster vom GC entfernt? Allgemeine Java-Themen 11
I Eclipse mp3 wird im Jar-File nicht gefunden Allgemeine Java-Themen 8
P Datei aus Ordner wird nicht gelesen Allgemeine Java-Themen 2
B Exception wird geworfen, ich darf sie aber nicht abfangen. Allgemeine Java-Themen 10
H List wird nicht richtig gefüllt Allgemeine Java-Themen 6
M javac wird offenbar nicht gefunden Allgemeine Java-Themen 6
G Hibernate search (Lucene) - Index wird nicht rechtzeitig erzeugt? Allgemeine Java-Themen 2
capgeti batch datei funktioniert nicht! Jar wird nicht gestartet! Allgemeine Java-Themen 3
B Konstruktor wird nicht aufgerufen Allgemeine Java-Themen 4
7 Exception wird nicht aufgefangen Allgemeine Java-Themen 8
G JProgressBar wird nicht angezeigt. Allgemeine Java-Themen 2
S Objekt synchronisieren, sodass es nicht von mehreren Threads benutzt wird..? Allgemeine Java-Themen 2
G WindowAdapter - Datensatz wird nicht komplett gespeichert Allgemeine Java-Themen 7
calzone Warum wird nicht aus der Schleife gesprungen ? Allgemeine Java-Themen 2
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
S [ANT] compiler wird nicht gefunden Allgemeine Java-Themen 6
B Bild wird nicht angezeigt. Allgemeine Java-Themen 10
T [Eclipse Ganymede JEE] Warnung das JAR nicht publiziert wird Allgemeine Java-Themen 2
F Panel wird nicht angezeigt Allgemeine Java-Themen 2
Y ProcessBuilder, Prozess wird gestartet, aber Anwendung nicht Allgemeine Java-Themen 5
B -Xmx wird nicht beachtet? Allgemeine Java-Themen 9
D Klasse wird nicht gefunden Allgemeine Java-Themen 3
R if-Anweisung wird angemeckert, andere identische nicht Allgemeine Java-Themen 9
Y JasperReport - SubReport wird nicht angezeigt Allgemeine Java-Themen 13
J Eigener ClassLoader wird nicht immer verwendet Allgemeine Java-Themen 3
C java media framework - Mikrofon wird nicht gefunden Allgemeine Java-Themen 18
Junktyz In Writer und Outputstream wird teilweise nicht geschrieben Allgemeine Java-Themen 3
B jar - ressourcenfile wird nicht gefunden Allgemeine Java-Themen 2
G Problem mit Quellcode, Eingabe wird nicht angezeigt --HELP-- Allgemeine Java-Themen 2
N Main-Klasse wird beim Aufruf des JARs nicht gefunden Allgemeine Java-Themen 8
G Date wird nicht richtig geparsed Allgemeine Java-Themen 3
G JTable wird nicht richtig aufgebaut Allgemeine Java-Themen 9
G Thread wird nicht beendet Allgemeine Java-Themen 5
P javac wird nicht nicht gefunden Allgemeine Java-Themen 33
G Klasse wird zur Laufzeit nicht gefunden? Allgemeine Java-Themen 3
C Das Währungssymbol EURO " € " wird nicht angezeigt Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben