Thread Problem

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Code:
	public void run() 
	{
		JFrame frame =  new JFrame("ProgressBar");
		JProgressBar bar 			= new JProgressBar();
		  
		bar.setIndeterminate(true);
		bar.setSize(50 , 330);
		TitledBorder title1;
		title1 = BorderFactory.createTitledBorder("Please wait...");
		bar.setBorder(title1);
		    
		frame.add(bar); 
		frame.pack();
		frame.setVisible(true);
		
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
	    int x = (d.width - frame.getSize().width) / 2;
	    int y = (d.height - frame.getSize().height) / 2 ;
		frame.setLocation(x, y);  
	}

So aber wenn ich den Thread starte, dann hängt der sich weiterhin auf, wenn das Main programm etwas macht.. wo liegt der Fehler? Bitte helft mir :)
 

HoaX

Top Contributor
a) kein swing in threads außer im dispatcherThread -> EventQueue.invokeLater/invokeAndWait
b) in welcher zeile bleibt er denn hängen?
c) wieso machst du das in nem eigenen thread? das ist nun wirklich kein code mit langer laufzeit den man außlagern sollte, außerdem a)
 
G

Guest

Gast
Ich habe ein Hauptprogramm welches eben etwas berechnet und eine kleine GUI hat.

So nun will ich, dass während das Hauptprogramm etwas macht diese Progressbar aufrufen die einfach nur hin und her pendeln soll. Nichts anderes :).

Wenn ich das aber so in das programm einfach einfüge, dann bleibt der Progress stehen, wenn das Programm rechnet...
 
G

Guest

Gast
Bekomme das nicht hin... könnte mir jmd. kurz eine classe erstellen welche in einem eigenständigen Thread läuft? Bzw. die oben so abändern, dass es funktioniert?
 

Bert Brenner

Bekanntes Mitglied
Du machst deine berechnungne nicht evtl. im SwingThread?

Da oben kann man nix ändern, weil da kein relevanter Code steht.
 
L

lohr

Gast
Aber ich verstehe nicht ganz wieso du nicht einfach die Progressbar instanziierst ohne einen Thread...
Das sollte doch dein Programm hinbekommen ein zusätzliches Fenster zu öffnen und trotzdem weiterzuarbeiten?

Ansonsten poste halt mal deine Thread Klasse...
 
G

Guest

Gast
Das bekommt es eben nicht hin... sonst wurde ich das ja nicht so machen wollen. :)
 
G

Guest

Gast
Ok das bekomme ich wohl nicht hin....

Gibt es die möglichkeit ein Option Pane zu erstellen welches sich nicht wegklicken lässt? Oder soetwas ähnliches.. das würde das ganze vereinfachen :)
 
L

lohr

Gast
Code:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class test extends JFrame
{	
	private JFrame framebar;
	private JProgressBar bar;
	private JButton but;
	
	public test()
	{
		new JFrame("Main");
		but = new JButton();
		add(but);
		setSize(600, 400);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocation(100,100);
	}
	
	public void doBar()
	{
		framebar = new JFrame("Bar");
		bar = new JProgressBar();
		bar.setIndeterminate(true); 
	                bar.setSize(50 , 330); 
	                bar.setVisible(true);
	                framebar.add(bar);
	                framebar.pack();
	                framebar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	                framebar.setVisible(true);
	}
	
	public static void main(String[] args) 
	{
		test t = new test();
		t.doBar();
	} 
}

Ich würde an deiner Stelle noch den Code für die Bar in eine eigene Klasse auslagern, ist schöner, dann kannste immer ein Objekt dafür instanziieren.
Also ich würde sagen du kannst in dem hauptfenster noch weiterarbeiten oder? ^^
 
G

Guest

Gast
Bei mir geht das nicht... aber da macht er auch mehr als einfach einen butten zu drücken....

Geht das mit dem OptionPane wenigtens ohne das es eine möglichkeit gibt es wegzuklcken??
 
L

lohr

Gast
na dann...

Code:
...
private JFrame framebar;
private JOptionPane mypane;
...
public void doPane()
	{
		mypane = new JOptionPane();
		framebar = new JFrame("Bar");
		framebar.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		framebar.add(mypane);
		framebar.pack();
		framebar.setVisible(true);
	}

Zu deinem Verständnis, ich hab die JoptionPane in das JFrame gelegt und damit kann es der User nicht schließen...
Auch wieder hier nen Tip leg das alles in eine eigenen Klasse und somit hast du deine eigene nichtschließbare JOptionPane.
Ich hätte es trotzdem mit der Progressbar gemacht, deutlich schöner!
 

HoaX

Top Contributor
Gast, ich denke du hast ein grundsätzliches problem, nämlich dass deine berechnung im dispatcherThread läuft. der dispatcherThread ist u.a. dafür zuständig fenster neu zu zahlen. wenn du diesen thread blockierst kannst du noch so viele joptionpanes/fenster/progressbars /...erstellen wie du willst, du wirst nichts sehen

--> lager doch einfach deine berechnung in einen extra thread aus?!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
A Problem mit Thread.sleep Java Basics - Anfänger-Themen 4
B Thread Problem Java Basics - Anfänger-Themen 7
G problem mit thread.sleep() Java Basics - Anfänger-Themen 6
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
M Threads Thread.Sleep Problem im Zusammenhang mit GUI/ActionPerformed-Methode Java Basics - Anfänger-Themen 4
H Threads Problem bei Thread + Innere Klasse Java Basics - Anfänger-Themen 3
F thread problem Java Basics - Anfänger-Themen 3
D Problem mit interrupt() thread Java Basics - Anfänger-Themen 4
G Problem Thread und Monitoring Java Basics - Anfänger-Themen 3
P Problem beim Thread Java Basics - Anfänger-Themen 20
kulturfenster Problem mit Thread + Interface Java Basics - Anfänger-Themen 4
S problem mit repaint() in Thread Java Basics - Anfänger-Themen 6
M Thread - Problem Java Basics - Anfänger-Themen 3
A Problem zweitem Thread in Applet Java Basics - Anfänger-Themen 12
G Problem mit Thread Sleep! Java Basics - Anfänger-Themen 3
G Problem mit Thread Java Basics - Anfänger-Themen 6
G Thread-Problem, glaube ich? Java Basics - Anfänger-Themen 5
A Do/While Problem (Exception in thread "main" java. Java Basics - Anfänger-Themen 4
G Thread Problem Java Basics - Anfänger-Themen 2
P Problem mit Thread - cannot be referenced from a static cont Java Basics - Anfänger-Themen 5
H Problem mit einem Programmversuch (geteilter Thread) Java Basics - Anfänger-Themen 3
N Thread Problem. Java Basics - Anfänger-Themen 6
E Anfänger Problem mit Thread.sleep() Java Basics - Anfänger-Themen 11
D Thread und JOptionPane -> Problem Java Basics - Anfänger-Themen 6
D Thread Problem Java Basics - Anfänger-Themen 4
K Problem beim Einbau von einem Thread in eine Gui Java Basics - Anfänger-Themen 9
K animation in applet, thread problem (?) Java Basics - Anfänger-Themen 3
G Problem bei Thread im Frame Java Basics - Anfänger-Themen 3
G Problem mit Thread Java Basics - Anfänger-Themen 2
G Thread-Problem 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
berserkerdq2 Größter unterschied von extends thread und implements runnable? Java Basics - Anfänger-Themen 2
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 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
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
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
J JavaFX -> SocketIO -> Thread -> Update Label Java Basics - Anfänger-Themen 13
J Thread Handling Java Basics - Anfänger-Themen 9
C Thread in Methode + raus aus der Schleife Java Basics - Anfänger-Themen 10
E Threads Thread in While-Schleife nur einmal starten Java Basics - Anfänger-Themen 2
F Daten von Thread an den aufrufenden zurückgeben Java Basics - Anfänger-Themen 22
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N KeyListener in Thread Java Basics - Anfänger-Themen 0
M Thread.sleep() Funktion Java Basics - Anfänger-Themen 1
W JLabel in Main aus Thread verändern. Java Basics - Anfänger-Themen 4
D Ausgeben welcher Thread gerade Arbeitet Java Basics - Anfänger-Themen 8
N Threads Thread-Fehler Java Basics - Anfänger-Themen 2
F Thread um Uhrzeit ausführen Java Basics - Anfänger-Themen 5
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
J Exception in thread "main" Java Basics - Anfänger-Themen 1
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
B Animation mit Thread(s) Java Basics - Anfänger-Themen 23
I Thread.sleep (1000); Java Basics - Anfänger-Themen 1
M Threads Jede Klasse einem Thread zuweisen Java Basics - Anfänger-Themen 7
J Java Thread cancel() und wiederbeleben Java Basics - Anfänger-Themen 4
J BouncingBalls 1 Thread Java Basics - Anfänger-Themen 3
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben