Swing Thread mit wait() und notify() steuern

Burny91

Mitglied
Hallo Leute,

ich bin gerade dabei einen Zeit- und Punktecounter zu programmieren. Könnt ihr euch am beispiel von Solitare anschauen - unten rechts in der Statusbar.

Zum Problem: Ich habe einen Thread der periodisch einen Couter hochzählt (Sekunden) und einen Wert der jede Sekunde um einen Bestimmten Wert reduziert wird. Nun will ich diesen Thread mit einem Stop- und Resume-JButton steuern. Nun hält nicht mein Thread an, sondern meine GUI wird gestoppt =/

Wie muss ich meine ActionListener bestücken damit das oben beschriebene werkelt?

Java:
package timer_highscore2;

public enum Level {
    EASY, MEDIUM, DIFFICULT, INFERNAL;
}


package timer_highscore2;


import java.util.TimerTask;
import javax.swing.JLabel;

public class Score extends TimerTask {

	private int points = 0;
	private int reducer = 0;
	private int time = -1;
	public JLabel tmplabel;

	Score() {

	}

	Score(Level level, JLabel label) {
		
		tmplabel = new JLabel();
		tmplabel = label;
		
		if (level == Level.EASY) {
			points = 5005;
			reducer = 5;
		} else {
			if (level == Level.MEDIUM) {
				points = 10010;
				reducer = 10;
			} else {
				if (level == Level.DIFFICULT) {
					points = 15015;
					reducer = 15;
				} else {
					points = 20020;
					reducer = 20;
				}
			}
		}
	}
	
	public void stop(){
		try {
			wait();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void resume(){
		notify();
	}

	public int getPoints() {
		return points;
	}

	public int getTime() {
		return time;
	}

	public void run() {
		// Reducing point
		points -= reducer;
		// Time counting up each second
		time += 1;
		System.out.println("Score: " + points + " Time: " + time);
		tmplabel.setText("Score: " + String.valueOf(points) + " Time: " + String.valueOf(time));
	}
}


package timer_highscore2;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class TestFrame_2 extends JFrame{

	public JLabel label;
	public Score score;
	public JButton stop;
	public JButton resume;

	TestFrame_2(){
		final Timer timer = new Timer();
		label = new JLabel("");
		score = new Score(Level.EASY, label);
		stop = new JButton("Stop");
		resume = new JButton("Resume");
		
		
		
		timer.scheduleAtFixedRate(score, 1000, 1000);

		setLayout(new FlowLayout());
		add(label);
		add(stop);
		add(resume);
		
		// Adding actionlisteners to buttons
		stop.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				synchronized(score){
					try {
						score.wait();
					} catch (InterruptedException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}				
			}
		});
		
		resume.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				score.resume();
			}
		});

		pack();
		setTitle("TestFrame_2");
		setSize(400, 200);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
	}

	public void update(){
		score.run();
	}

	public static void main(String args[]){
		TestFrame_2 tf2 = new TestFrame_2();
		tf2.update();

	}
}


Die Knackpunkte sind meiner Meinung nach die ActionListener
Java:
// Adding actionlisteners to buttons
		stop.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				synchronized(score){
					try {
						score.wait();
					} catch (InterruptedException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}				
			}
		});
		
		resume.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				score.resume();
			}
		});

Hoffe auf baldige Hilfe

Mfg Burny
 
M

Marcinek

Gast
Kommt da ein Fehler, oder was geht schief?

Wenn Score dein Thread ist, dann kannst du ihn mit wait() "suspenden" und mit notify() wieder loslaufenlassen.
 

Burny91

Mitglied
Das was schief geht ist das die mein GUI einfriert. Ich möchte ja nur das mein Counter stoppt und nicht das Frame. Ich kann das Frame danach nur noch Killen um es zu schließen. Mein Button resume mit notitify funktioniert danach auch nicht mehr.
 

Marco13

Top Contributor
Ja, wenn in der ActionPerformed-Methode "score.wait();" aufgerufen wird, ist der Event-Dispatch-Thread (der sich um's GUI kümmert) blockiert. Die wait- und notify-Aufrufe sollten nur in dem Score-Objekt gemacht werden, und sich auf den Thread beziehen, der das ausführt. Wie man das machen würde, bzw. wie man an diese Thread ranokmmen sollte, weiß ich ehrlich gesagt gerade nicht ... ich würde eher einen ganz normalen Thread und keinen Timer verwenden.
 

Burny91

Mitglied
Ah, Okay. Ja dann versuch ich das mal mit einem Thread. Hatte das nur mit dem Timer gedacht, weil mir der Thread zu overpowered vor kam.
 

Burny91

Mitglied
Hab jetzt versucht mein Problem mit einem Thread zu lösen, bin aber wieder an der java.lang.IllegalMonitorStateException hängengeblieben -.-' Wie kann ich das umgehen? Ich möchte meinen Thread ja nur solange pausieren bis der User Einstellungen erledigt hat. Danach soll mein Timer-Thread weiterlaufen.

Mit suspend() und notify() kommm ich nicht weiter da diese beiden Methoden von JAVA als deprecated makiert sind. Mir ist außerdem noch synchronized( Object) über den weg gelaufen, aber dadurch wurde ich auch nicht schlauer.

Hier nochmal mein Code:

Java:
package ThreadDemo;

import javax.swing.JLabel;

public class Score extends Thread {

	private int points = 0;
	private int reducer = 0;
	private int time = -1;
	public JLabel tmplabel;
	private boolean cancel = true;

	Score(Level level) {

		tmplabel = new JLabel();
		// tmplabel = label;

		if (level == Level.EASY) {
			points = 25;
			reducer = 5;
		} else {
			if (level == Level.MEDIUM) {
				points = 10010;
				reducer = 10;
			} else {
				if (level == Level.DIFFICULT) {
					points = 15015;
					reducer = 15;
				} else {
					points = 20020;
					reducer = 20;
				}
			}
		}
	}

	public void run() {
		// Reducing point
		while (cancel) {
			if (points != 0) {
				points -= reducer;
			}

			try {
				/*
				 * KnackPunkt wie umgehe ich die
				 * java.lang.IllegalMonitorStateException??
				 */
				this.wait();
				System.out.println(this.isInterrupted());
				sleep(1000);
				this.notify();

			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

			time += 1;
			System.out.println("Score: " + points + " Time: " + time);
		}
	}

	// Time counting up each second
	// tmplabel.setText("Score: " + String.valueOf(points) + " Time: " +
	// String.valueOf(time));

	public static void main(String args[]) {
		Score sc = new Score(Level.EASY);
		sc.start();

	}
}

Need help guys :(
 
S

SlaterB

Gast
Java:
				/*
				 * KnackPunkt wie umgehe ich die
				 * java.lang.IllegalMonitorStateException??
				 */
				this.wait();

->

Java:
			@Override
			public void actionPerformed(ActionEvent e) {
				synchronized(score){
					try {
						score.wait();
					} catch (InterruptedException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}				
			}
		});

fällt dir ein Unterschied auf?

edit:
> Mir ist außerdem noch synchronized( Object) über den weg gelaufen, aber dadurch wurde ich auch nicht schlauer.

na gut, dazu nachlesen oder nicht, jedenfalls muss
synchronized(this) {
}
drumherum
 

Burny91

Mitglied
Sauber :toll: hat funktioniert.

Nun habe ich noch eine Frage:
wenn ich den Thread mit wait() pausieren lasse, kann ich ihn mittels sleep() wieder aufwecken? Hab das zwar im Code stehen. Aber der Thread wurde ja angehalten ;) also führt er die folgenden Zeilen nicht aus solange bis notify() aufgerufen worden ist - richtig?


Java:
			try {
				System.out.println(this.getState());

				synchronized (this) {
					this.wait();
					System.out.println(this.getState());
				}
				sleep(1000);
				this.notify();
				System.out.println(this.getState());

			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
 

Marco13

Top Contributor

Burny91

Mitglied
Hey Leute ich steh jetzt vor einem neuem Problem.
Ich will nun in meiner GUI den Thread-Score mit einem Button starten. Nur kann ich nicht mit einer Instanz von Score auf die start() methode zugreifen um den Thread von außen zu starten. Wie macht man das? :bahnhof:

Java:
		sc = new Score(Level.DIFFICULT);
		//Set ActionListner
		start.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				sc.start();
			}
		});

Start() wird in meiner GUI als undefined markiert -.-'
 
S

SlaterB

Gast
wie genau lautet die Fehlermeldung?

was ist sc für eine Variable? wenn lokal in der umgebenen Methode definiert, dann sollte sie final sein:
final Score sc = new Score(Level.EASY);
 

Burny91

Mitglied
Java:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The method start() is undefined for the type Score

	at timer_highscore.TestFrame.<init>(TestFrame.java:80)
	at timer_highscore.TestFrame.main(TestFrame.java:96)

Das ist die Fehlermeldung. Will die variable aber global haben, weil ich mit anderen Button den Thread, pausieren sc.wait(), resumen sc.notify() und abbrechen sc.cancel() will.

Falls es hilft meine GUI erbt nicht von Thread und hat auch nciht das Interface Runnable - könnte es vllt daran liegen?
 
M

Marcinek

Gast
In Java gibt es keine Clouser ;D

Daher musst du das sc als Objektvariable definieren, damit du in einer Subclass drauf zugreifen kasnnt.

Gruß,

Martin
 

Burny91

Mitglied
Oh man hab meinen Fehler gefunden. Lag daran das ich mit zwei Scoreklassen gearbeitet habe und die eine im andern Paket lag -.-' *no comment*.

Jetzt habe ich meine Buttons der GUI so belegt das ich mit start() den Thread startet - das funktioniert. Nur mit dem wait() haut das nicht hin. Hatte das Problem oben schonmal geschildert, das wenn ich wait() aufrufe meine GUI anhält und der Thread einfach weiterläuft?! =( Ich will ja nur das mein Timer solange anhält bis ich ihn mit meinem notify-button dazu zwinge.

Java:
final Score sc = new Score(ThreadDemo.Level.DIFFICULT);

wait.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				try {
					synchronized (sc) {
						sc.wait();
					}
				} catch (InterruptedException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		});
 

andiv

Bekanntes Mitglied
Das liegt daran, dass du bei weitem noch nicht genug von Threads, wait und notify verstehst.

Im ActionListener befindest du dich im Event Dispatch Thread (EDT). Mit sc.wait() lässt du nun den EDT warten bis irgendwann ein notify kommt. Bei sc.wait() wartet nicht sc sondern der Aufrufer von sc.wait()!
 

andiv

Bekanntes Mitglied
Naja, irgendwo in deinem sc wirds ja wohl eine Endlosschleife der Art
Java:
while(true) {
    count--;
    Thread.sleep(1000);
}
geben.
Ich würde das jetzt erweitern und eine boolean-Variable
Java:
while(true) {
    if(running) {
        count--;
    }
    Thread.sleep(1000);
}
einbauen.
Die Variable muss natürlich auch gesetzt werden können
Java:
private volatile boolean running = true;
public void suspend() {
    running = false;
}
public void proceed() {
    running = true;
}
(Ich denke volatile müsste hier reichen, falls nicht muss man zu AtomicBoolean oder synchronized greifen um Thread-Sicherheit zu gewährleisten)

In deinem ActionListenern rufst du dann einfach sc.suspend()/sc.proceed() auf.

Müsste doch eigentlich gehen, oder? (bin schon müde)
 

Michael...

Top Contributor
wait() ist keine spezifische Thread Methode. Jedes Objekt besitzt die Methode wait(). Der aufrufende Thread wartet dann solange bis notify() bzw. notifyAll() an diesem Objekt aufgerufen wird.
D.h. wenn der Thread sc "warten" soll musst Du innerhalb dieses Threads wait() auf ein beliebiges Objekt aufrufen.
 

Burny91

Mitglied
hey andiv,

das mit
Java:
public void suspend() {
    running = false;
}

hat funktioniert. Nur das mit proceed nicht :( Wenn ich running = false setzte. bricht ja die while-schleife ab und folglich ist auch der Threadzuende, weil das alles in run() steht.

Wie kann ich das denn pausiern Leute? ;(

(Bin jetzt pennen - bis morgen)
 

andiv

Bekanntes Mitglied
Schau dir mal meine while-Schleife an, da hört nichts auf wenn running false ist, da wird halt nur der counter nicht runtergezählt.
 

Michael...

Top Contributor
Wenn ich das ganze richtig verstanden habe, willst Du per wait() einen Thread pausieren und mittels notify() weiter laufen lassen.

Hier mal ein Bsp. das ich vor einger Zeit mal für jemanden gemacht habe. Hierbei wird eine "Animation" per Thread gesteuert. Mittels wait() bzw. notifyAll() auf ein gemeinsames Objekt (in dem Fall das AnimationPanel) wird der Thread pausiert bzw. fortgesetzt:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class AnimationWait extends JFrame {
	public static void main(String[] args) {
		new AnimationWait();
	}

	private JButton start, stop;
	private AnimationPanel aniPanel;

	public AnimationWait() {
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setBounds(0, 0, 200, 200);
		this.setLocationRelativeTo(null);
		this.getContentPane().add(aniPanel = new AnimationPanel(),
				BorderLayout.CENTER);
		JPanel panel = new JPanel(new GridLayout(1, 2));
		panel.add(start = new JButton("Start"));
		panel.add(stop = new JButton("Pause"));
		stop.setEnabled(false);
		this.getContentPane().add(panel, BorderLayout.SOUTH);
		this.setVisible(true);
		
		new Thread(new AnimationThread(aniPanel)).start();
		
		start.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				aniPanel.setActive(true);
				start.setText("Resume");
			}
		});
		
		stop.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				aniPanel.setActive(false);
			}
		});
	}

	class AnimationPanel extends JPanel {
		private Color[] color = new Color[] { Color.RED, Color.BLUE, Color.ORANGE, Color.GREEN, Color.BLACK };
		private int colorIndex = 0;
		private boolean active = false;

		public void increaseIndex() {
			colorIndex = (colorIndex+1)%color.length;
			this.repaint();
		}
		
		public synchronized void setActive(boolean b) {
			this.active = b;
			start.setEnabled(!b);
			stop.setEnabled(b);
			this.notifyAll();
		}
		
		public synchronized boolean isActive() {
			return active;
		}

		public void paintComponent(Graphics g) {
			super.paintComponent(g);
			g.setColor(color[colorIndex]);
			int w = this.getWidth(), h = this.getHeight();
			g.fillRect((w - 50) / 2, (h - 50) / 2, 50, 50);
		}
	}

	class AnimationThread implements Runnable {
		private AnimationPanel panel;
		public AnimationThread(AnimationPanel panel) {
			this.panel = panel;
		}
		
		public void run() {
			int i = 0;
			while (true) {
				System.out.println(i++ + ". Schleifendurchlauf des Threads");
				if (panel.isActive())
					panel.increaseIndex();
				else
					try {
						synchronized(panel) {
							panel.wait();
						}
					} catch (InterruptedException exc) {
						exc.printStackTrace();
					}
				try {
					Thread.sleep(400);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}
}
 

Burny91

Mitglied
Danke Andi,
hattest recht es funktioniert. War gestern Abend doch zu müde. Mein Thread läuft jetzt so wie ich es mir vorgestellt habe. Vielen Dank an Alle =) :applaus::toll:

Mfg Burny91
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P thread nimmt veränderte boolean nicht AWT, Swing, JavaFX & SWT 7
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
M Server/Client thread von GUI Trennen AWT, Swing, JavaFX & SWT 2
K JavaFx, Sound Aufnahme und Thread AWT, Swing, JavaFX & SWT 0
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
G Exception javafx Thread -> caused by removing children while in EventHandler AWT, Swing, JavaFX & SWT 28
H Event Handling Thread - Abruf der get-Methode AWT, Swing, JavaFX & SWT 5
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
G Thread starten Swing AWT, Swing, JavaFX & SWT 5
C Thread verwalten AWT, Swing, JavaFX & SWT 2
A Swing Exception in thread "AWT-EventQueue-0" AWT, Swing, JavaFX & SWT 1
S JavaFX Exception in thread "JavaFX Application Thread" AWT, Swing, JavaFX & SWT 3
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
J Thread per Button starten AWT, Swing, JavaFX & SWT 10
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11
T JavaFX Task / Thread / FXThread Komplikationen AWT, Swing, JavaFX & SWT 5
O Swing Event Dispatch Thread AWT, Swing, JavaFX & SWT 1
L JavaFX UI Thread block AWT, Swing, JavaFX & SWT 13
X Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 AWT, Swing, JavaFX & SWT 6
sandaime Swing Thread für CMD auslesen AWT, Swing, JavaFX & SWT 16
E JavaFX JavaFX Application in Thread ausführen AWT, Swing, JavaFX & SWT 1
D JavaFX UI-Thread und DB-Thread trennen um z.B. Ladebalken anzuzeigen AWT, Swing, JavaFX & SWT 15
T JavaFX Controller im extra Thread AWT, Swing, JavaFX & SWT 0
T Swing 2 Thread.sleep parallel laufen lassen AWT, Swing, JavaFX & SWT 4
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
E JavaFX Stage.show() in ursprünglichem Thread starten AWT, Swing, JavaFX & SWT 7
L Swing Frame in Thread wird nicht gezeichnet AWT, Swing, JavaFX & SWT 2
N Programm mit Swing und Thread, Figur bewegen sich nicht AWT, Swing, JavaFX & SWT 6
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
C Thread-/ Simulations- Problem AWT, Swing, JavaFX & SWT 18
T Swing Button bleibt grau [=> UI hat sich aufgehängt, Aufgabe in Thread auslagern] AWT, Swing, JavaFX & SWT 3
M Thread-Frage in SWT AWT, Swing, JavaFX & SWT 1
Q GUI außerhalb GUI-Thread updaten - GUI friert ein AWT, Swing, JavaFX & SWT 18
C Thread in Klassen starten AWT, Swing, JavaFX & SWT 4
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
S Swing Exception in thread "AWT-EventQueue-0" bei Jlabel AWT, Swing, JavaFX & SWT 4
D SWT SWT Elemente aus anderen Klassen aufrufen - Invalid thread access AWT, Swing, JavaFX & SWT 6
K JavaFX Tableview mit fxml ohne Aktualiserung trotz Thread AWT, Swing, JavaFX & SWT 13
K Event Handling 2 Buttons und Thread stop AWT, Swing, JavaFX & SWT 3
C Swing Update von swing-TableModels per Thread. Eins geht, das andere nicht, warum? AWT, Swing, JavaFX & SWT 12
V JLabel bzw. GUI aus externen Thread ansteuern AWT, Swing, JavaFX & SWT 3
J Applet Paralleles Thread Handling AWT, Swing, JavaFX & SWT 3
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
T Java Swing Main GUI Thread AWT, Swing, JavaFX & SWT 3
C Event Handling Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException AWT, Swing, JavaFX & SWT 43
T Table-Zeilen mit Thread einfärben AWT, Swing, JavaFX & SWT 15
F Swing GUI-Thread für automatisches Update nutzen AWT, Swing, JavaFX & SWT 10
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
V Nullpointerexception (etwas mit thread und jframe) AWT, Swing, JavaFX & SWT 3
P Problem Thread.sleep() und JProgressBar AWT, Swing, JavaFX & SWT 7
S SWT GUI-Thread AWT, Swing, JavaFX & SWT 11
A Thread und sleep(1000); AWT, Swing, JavaFX & SWT 7
B Swing Thread+Animation AWT, Swing, JavaFX & SWT 7
S Timer oder Thread.sleep AWT, Swing, JavaFX & SWT 3
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
B Über SWT Button Thread beenden AWT, Swing, JavaFX & SWT 2
C SWT Gui Thread hängt sich auf AWT, Swing, JavaFX & SWT 3
lumo SWT Exception in thread "main" org.eclipse.swt.SWTError: No more handles AWT, Swing, JavaFX & SWT 3
Luk10 Swing Problem mit Zeichen-Thread AWT, Swing, JavaFX & SWT 8
G 2D-Grafik Von Thread aus Zeichnen AWT, Swing, JavaFX & SWT 5
U Swing JLabel bewegen mittels Thread AWT, Swing, JavaFX & SWT 3
M JProgressBar für einen Thread AWT, Swing, JavaFX & SWT 14
R JTable und Thread AWT, Swing, JavaFX & SWT 4
K Thread.sleep in GUI AWT, Swing, JavaFX & SWT 4
J Thread funktioniert nicht AWT, Swing, JavaFX & SWT 10
D JPanel mit Thread in JPanel AWT, Swing, JavaFX & SWT 4
F Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null AWT, Swing, JavaFX & SWT 5
P Teil einer Swing GUI in eigenem Thread AWT, Swing, JavaFX & SWT 4
S Thread.sleep() in einer methode fürs zeichen AWT, Swing, JavaFX & SWT 3
O JTree/TreeModel/DefaultMutableTreeNodes thread safe machen AWT, Swing, JavaFX & SWT 3
P repaint während Thread läuft AWT, Swing, JavaFX & SWT 9
F SWT table refresh per Thread AWT, Swing, JavaFX & SWT 2
V Swing remove(Component) blockiert Thread sehr lange. AWT, Swing, JavaFX & SWT 6
J AWT Artefakte bei AWT-Rendering durch parallelen Thread AWT, Swing, JavaFX & SWT 4
H Thread-Problem mit der Darstellung beim Sperren des Fensters AWT, Swing, JavaFX & SWT 2
T Event Dispatch Thread und noch ein Thread AWT, Swing, JavaFX & SWT 7
N SWT - über Thread Composite erstellen und Anhängen AWT, Swing, JavaFX & SWT 6
K Vom Gui aus auf einen Thread warten AWT, Swing, JavaFX & SWT 4
X Problem bei JTextArea und Thread.sleep() AWT, Swing, JavaFX & SWT 8
F Merkwürdiges Verhalten zeichnen sperater Thread AWT, Swing, JavaFX & SWT 13
B Swing Swing und Thread.sleep() AWT, Swing, JavaFX & SWT 6
N Exception Behandlung mit setDefaultUncaughtExceptionHandler, insbesondere im EventDispatcher Thread AWT, Swing, JavaFX & SWT 4
Q Neuer Thread zum Öffnen AWT, Swing, JavaFX & SWT 2
P Swing GUI im Thread? AWT, Swing, JavaFX & SWT 5
T GUI JFrame - neuer Thread AWT, Swing, JavaFX & SWT 2
data89 Was mache ich mit "Dispatched Event Thread"/Substance falsch? AWT, Swing, JavaFX & SWT 4
0x7F800000 Allg. Frage zum ev. dispatch thread, wie korrekt auf reaktion der Listener warten? AWT, Swing, JavaFX & SWT 4
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
T thread.sleep Sprung Problem AWT, Swing, JavaFX & SWT 24
N Server mit Thread und Statusbox AWT, Swing, JavaFX & SWT 3
S Objektverhalten in einen Thread legen AWT, Swing, JavaFX & SWT 4
G JProgressBar actionPerformedMethode und SwingUI thread AWT, Swing, JavaFX & SWT 36
E Komponenten in Event Dispatch Thread erzeugen? AWT, Swing, JavaFX & SWT 4
J Thread in GUI einbauen AWT, Swing, JavaFX & SWT 2
Lony AbstractTableModel Exception in thread "AWT-EventQueue- AWT, Swing, JavaFX & SWT 3
A Ticker als Thread AWT, Swing, JavaFX & SWT 3
G Auf Ergebnis vom Thread warten AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben