MyActionListener extends Thread

Dax_ka

Mitglied
Hallo,

Habe ein paar Probleme mit dem Arbeiten mit Treads und dem ActionListener. Das Programm soll wie eine Stopuhr einfach jede Sekunde hochzählen und sich dabei per Buttuns Starten und Stopen lassen. Das funktioniert auch. Allerdings ebennur in der Console. Und ich will die Ausgabe des Zählers aber in dem textfield txtAusg haben. Hab schon ne ganze weile rum probiert, aber ohne nennenswerte Erfolge.:rtfm: ???:L

Java:
package Hans_Peter;

import Hans_Peter.Window;
import java.util.*;

public class Timer{
	public static void main(String[] args){
		Window w = new Window();
	}//public static void main(String[] args)
}//public class Timer

Java:
package Hans_Peter;

import java.awt.*;
import javax.swing.*;

import Hans_Peter.MyActionListener;

	public class Window	extends Frame{
		
	private static final long serialVersionUID = 1L;
	
	public MyActionListener actionListener = new MyActionListener(this); 
	public MyWindowListener myWindowListener = new MyWindowListener();
	
	//Bereich A
	
	public TextArea txtAusg = new TextArea();
	public Button btnStart = new Button("Start");
	public Button btnPause = new Button("Pause");
	public Button btnSchliessen = new Button("Schliessen");
	
	
	public Window(){
		super("Timer");
		this.setSize(360,250);
		this.setLayout(null);
		
		this.addWindowListener(myWindowListener);
		this.setBackground(Color.lightGray);
		this.setVisible(true);
		
		//Ausgabe Fenster
		Font font = new Font("SansSerif",Font.PLAIN,20);
		txtAusg.setFont(font.deriveFont(Font.PLAIN,40));
		txtAusg.setBounds(50,50,260,100);
		this.add(txtAusg);
		
		//Button Start
		btnStart.setBounds(50,170,80,25);
		this.add(btnStart);
		btnStart.addActionListener(actionListener);
		
		//Button Pause
		btnPause.setBounds(140,170,80,25);
		this.add(btnPause);
		btnPause.addActionListener(actionListener);
		
		//Button Schliessen
		btnSchliessen.setBounds(230,170,80,25);
		this.add(btnSchliessen);
		btnSchliessen.addActionListener(actionListener);
		
	}//public Window()
}//public class Window

Java:
package Hans_Peter;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class test extends Thread{

	public Window f;
	test(Window f) {
		this.f = f;
	}
	
	int i=0;
	
	
	
	public void run(){  
	    while ( ! isInterrupted() ) 
	    { 
	      System.out.println("ich werd verrückt "+i);
	      i++;
	      //Problem 
	      //Ausgabe in txtAusg von i
	      
	      try 
	      { 
	       Thread.sleep( 1000 ); 
	      } 
	      catch ( InterruptedException e ) 
	      { 
	       interrupt(); 
	       System.out.println( "a sleep()" ); 
	      } 
	    } 
	 } 
 }

Java:
package Hans_Peter;

import java.awt.event.*;
import javax.swing.*;
public class MyActionListener extends Thread implements ActionListener{
	
	public Window f;
	MyActionListener(Window f) {
		this.f = f;
	}// MyActionListener(Window f)
	
	
	Thread a = new test(f);
	int firsttime=0;
	
	
	
	public void actionPerformed(ActionEvent e){
		
		if (e.getSource () == f.btnStart) {
		    if(firsttime==0){
		    	a.start();
		    	firsttime=1;
		    	f.txtAusg.setText("bla");
		    }
		    a.resume();
		}
		
		if (e.getSource() == f.btnPause) {
			a.suspend();
		}
		
		if (e.getSource() == f.btnSchliessen) {
			a.stop();
			System.exit(0);
		}

	}//public void actionPerformed(ActionEvent e)
}// public class MyActionListener implements ActionListener


Hoffe ihr könnt mir helfen.

Dax
 
Zuletzt bearbeitet:

Dax_ka

Mitglied
Ich habe folgende Veränderungen vor genommen:

Java:
public class test extends MyActionListener implements ActionListener{

	String ausg;
	
	test(Window f,String ausg) {
		super(f);
		this.ausg=ausg;
	}
	
	public void actionPerformed(ActionEvent e){
		f.txtAusg.setText(""+ausg);
	}
	
	int i=0;
	
	public void run(){  
	    while ( ! isInterrupted() ) 
	    { 
	      System.out.println("ich werd verrückt "+i);
	      i++;
	      //Problem 
	      ausg=""+i;

und

Java:
public class MyActionListener extends Thread implements ActionListener{
	
	public Window f;
	MyActionListener(Window f) {
		this.f = f;
	}// MyActionListener(Window f)
	
	
	Thread a = new test(f, null);
	int firsttime=0;

Ich hatte gehofft über vererbung die actionPerformed auch in meiner klasse test mit dem thread nutzen zu können.
Eclipse unterstreicht nix aber beim compilieren erhalte ich folgende Fehlermeldung:

Exception in thread "main" java.lang.StackOverflowError
at java.security.AccessControlContext.optimize(Unknown Source)
at java.security.AccessController.getContext(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.<init>(Unknown Source)
at Hans_Peter.MyActionListener.<init>(MyActionListener.java:8)
at Hans_Peter.test.<init>(test.java:11)

..und diese meldung einige male
at Hans_Peter.MyActionListener.<init>(MyActionListener.java:13)
at Hans_Peter.test.<init>(test.java:11)


Wenn irgendwer auch nur ne Idee hat. Immer raus damit. Ich steh mit diesem Projekt mittlerweile ein bisschen unter zeitdruck, da ich das hier beschriebene Problem nur aus dem eigentlich programm isoliert habe.
Falls jemand der meinung ist meine ganze herangehensweise und umsetzung an das was ich da machen will ist mist. Dann sagt mir das, damit ich es neu machen kann. Und wenn ihr meine goss- und kleinschreibung doof findet dann sagt es mir auch.
 

fastjack

Top Contributor
Lass die Threads in den ActionListener weg und greife aus denen mit geeigneten Mitteln/Methoden auf den "Stoppuhr"-Thread zu.
 

Dax_ka

Mitglied
So gehts jetz. Weiss jetz nich ob fastjack das meinte, aber durch das googlen von java thread stoppuhr, hab ich nen anderes programm gefunden, dass ich meinem anpassen konnte. Danke

Java:
package Hans_Peter;

import java.awt.event.*;
import javax.swing.*;
public class MyActionListener extends Thread implements ActionListener, Runnable{
	
	public Window f;
	int i=0;
	private Thread a = new Thread(this);
	boolean firsttime=true;
	
	MyActionListener(Window f) {
		this.f = f;
	}// MyActionListener(Window f)
	
	
	
	public void run(){  
        while ( ! isInterrupted() ) 
        { 
          i++;
          f.txtAusg.setText(""+i);
          
          try 
          { 
           Thread.sleep( 1000 ); 
          } 
          catch ( InterruptedException e ) 
          { 
           interrupt(); 
           System.out.println( "a sleep()" ); 
          } 
        } 
     } 
	
public void actionPerformed(ActionEvent e){
        
        if (e.getSource () == f.btnStart) {
            if(firsttime){
                a.start();
                firsttime=false;
                f.txtAusg.setText("bla");
            }
            a.resume();
        }
        
        if (e.getSource() == f.btnPause) {
            a.suspend();
        }
        
        if (e.getSource() == f.btnSchliessen) {
            a.stop();
            System.exit(0);
        }
 
    }//public void actionPerformed(ActionEvent e)

}// public class MyActionListener implements ActionListener
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
mrStudent <? extends T> und <? super T> Java Basics - Anfänger-Themen 1
berserkerdq2 Größter unterschied von extends thread und implements runnable? Java Basics - Anfänger-Themen 2
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
J extends Problem Java Basics - Anfänger-Themen 2
N extends und super vs new object Java Basics - Anfänger-Themen 4
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
D public ArrayList(Collection<? extends E> c); Java Basics - Anfänger-Themen 2
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
J Implements und Extends Java Basics - Anfänger-Themen 5
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
M mehrere extends? Java Basics - Anfänger-Themen 19
J doppelname nach schlüsselwort extends Java Basics - Anfänger-Themen 4
V Was bewirkt das Schlüsselwort extends in Verbindung mit class bzw. public class ? Java Basics - Anfänger-Themen 2
T extends und implements Java Basics - Anfänger-Themen 11
Crazynet 2 extends Java Basics - Anfänger-Themen 22
S Wrapper Klasse und extends Java Basics - Anfänger-Themen 2
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
R Vererbung Übergabe von Variablen der Superklasse an Subklasse mit "extends" Java Basics - Anfänger-Themen 5
K Erste Schritte Extends Implements Java Basics - Anfänger-Themen 4
S Threads Thread wenn extends schon vergeben Java Basics - Anfänger-Themen 8
vandread Java Wildcards - Wann super wann extends? Java Basics - Anfänger-Themen 2
F Anfängerfrage zu extends Java Basics - Anfänger-Themen 12
B addAll(Collection<? extends E> c) Java Basics - Anfänger-Themen 9
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
K Erste Schritte extends vererbung Java Basics - Anfänger-Themen 15
P Class<? extends Entity> Array Java Basics - Anfänger-Themen 9
A final und extends Java Basics - Anfänger-Themen 14
Y Threads extends Thread oder implements Runnable Java Basics - Anfänger-Themen 10
C Vererbung "extends" umgehen mittels Objekterzeugung?! Java Basics - Anfänger-Themen 29
L Implements<-->extends und Interface Java Basics - Anfänger-Themen 10
T Collections Queue<? extends Number> add() offer() Java Basics - Anfänger-Themen 13
S Klasse extends HashMap Java Basics - Anfänger-Themen 20
L Problem mit Vererbung (extends) cannot find symbol Java Basics - Anfänger-Themen 3
H2SO3- Designfragen (mehrfach extends) Java Basics - Anfänger-Themen 11
G Unterschied e extends y vs ? extends y Java Basics - Anfänger-Themen 5
X List von Klasse B als List von Klasse A (B extends A) Java Basics - Anfänger-Themen 2
H extends Locale Java Basics - Anfänger-Themen 4
O import ja....extends nein Java Basics - Anfänger-Themen 5
G Muss es immer extends sein ? Java Basics - Anfänger-Themen 9
N class Test<E extends MyAbstractClass> => typ von E? Java Basics - Anfänger-Themen 5
K mehrere Extends Java Basics - Anfänger-Themen 2
S extends Vector<xyz> Java Basics - Anfänger-Themen 10
S new .() extends JDialog {.} Java Basics - Anfänger-Themen 15
S extends und Konstruktor Java Basics - Anfänger-Themen 8
E Interface extends Observable Java Basics - Anfänger-Themen 13
G Wiedermal vererbung, extends JDialog extends Exception ? Java Basics - Anfänger-Themen 8
U extends JLabel & Thread Java Basics - Anfänger-Themen 2
G Innere klasssen unde "extends" klassen definieren, Java Basics - Anfänger-Themen 2
frau-u JMenu mit extends JPanel? Java Basics - Anfänger-Themen 4
G "extends DBConnection" funktioniert nicht Java Basics - Anfänger-Themen 15
N extends / implements / static, bedeutung ?? Java Basics - Anfänger-Themen 12
C Problem mit Zeichnen auf einer extends Canvas Class... Java Basics - Anfänger-Themen 2
Leyla Thread isInterrupt Java Basics - Anfänger-Themen 18
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
F influxdb Upload in eigenem Thread Java Basics - Anfänger-Themen 2
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
A Thread - Synchronized Java Basics - Anfänger-Themen 10
A Thread Producer - Consumer Java Basics - Anfänger-Themen 1
A Thread-Semhapore Java Basics - Anfänger-Themen 0
A Thread Exchanger Java Basics - Anfänger-Themen 22
A Thread-Cyclicbarrier Java Basics - Anfänger-Themen 4
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
A Thread-Verklemmung Java Basics - Anfänger-Themen 10
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
A Thread find number Java Basics - Anfänger-Themen 8
F Thread.sleep() Java Basics - Anfänger-Themen 5
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
A Thread Java Basics - Anfänger-Themen 3
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
A Thread Java Basics - Anfänger-Themen 8
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
M Thread-Zustände Java Basics - Anfänger-Themen 6
CptK For-Schleife in Thread nach jedem Durchlauf pausieren Java Basics - Anfänger-Themen 35
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
B Endlosschleife Thread sauber beenden Java Basics - Anfänger-Themen 19
D Java Thread wartet nur ein mal Java Basics - Anfänger-Themen 1
D Java Thread wartet nur ein mal Java Basics - Anfänger-Themen 0
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
C Thread und TimerTask, Verstädnisproblem Java Basics - Anfänger-Themen 10
amgadalghabra Sorting Thread Launcher Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
A Thread Java Basics - Anfänger-Themen 4
A Thread Java Basics - Anfänger-Themen 1
A Thread Java Basics - Anfänger-Themen 0
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1
B Thread / Prozess stoppen? Java Basics - Anfänger-Themen 22
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
B Threads Thread sleep() Method einfache Frage Java Basics - Anfänger-Themen 8
W Thread Aufgabe - Vorgehensweise Java Basics - Anfänger-Themen 8
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 0
J Threads PrograssBar update während thread Java Basics - Anfänger-Themen 13
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
Spencer Reid JavaFX Memory Thread.sleep Java Basics - Anfänger-Themen 1
S Thread.sleep mit JProgressBar Java Basics - Anfänger-Themen 1
ralfb1105 Frage zu Thread Synchronisation mit wait() und notify() Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben