JTextArea in JScrollPane, Problem mit Thread.sleep()

Status
Nicht offen für weitere Antworten.

Matjes

Mitglied
hallo zusammen, ich bin derzeit zwecks "learning by doing" dabei ein kleines Spiel zu programmieren, es soll eine kleine Adaptierung des Brettspiels Risiko werden.

Der Verlauf: zu Spielbeginn wird die Reihenfolge ausgewürfelt und jedesmal wenn ein Land angegriffen wird wird auch hier der Kampverlauf ausgewürfelt. Nach jedem Wurf (sei es beim Reihenfolge auswürfeln oder beim Angreifen) sollen die Würfelaugen dargestellt werden (derzeit noch als Text in der TextArea, später vielleicht mal noch grafisch) und danach soll eine kurze Pause erfolgen (2 Sekunden oder so) damit der Spieler kurz sehen kann was gewürfelt wurde.
Also gibt es bei einem Angriff 2 Ausgaben (Wurf des Angreifers und Wurf des Verteidigers) und nach jeder eine kurze Pause. Diese Pause habe ich in die statische Methode wuerfeln(...) gepackt da ich keine weiteren Threads erstellt habe sollte sich dieses Thread.sleep() ja auf den main Thread beziehen und somit mein komplettes Programm 2 Sekunden schlafen gelegt werden. Das funktioniert auch.. FAST ;) wenn ihr es euch mal anschauen wollt:

http://dunklegarde.de.s332.evanzo-server.de/java/Risk.jar

Nach dem Reihenfolge auswürfeln einfach mal ein eigenes Land (gründ markiert) anklicken und ein paar Armeen drauf stellen (mit den Buttons) das Land markiert lassen und ein feindliches Land anklicken, dann öffnet sich ein Fenster wo ihr bestimmen könnt mit wie vielen Armeen angegriffen werden soll, nach einem Klick auf "Angriff" startet das auswürfeln und hier treten jetzt Grafikfehler oben in der Textarea auf. Das merkwürdige an der Sache ist, dass die Anzeige beim auswürfeln der Reihenfolge einwandfrei funktioniert, nur beim angreifen nicht, vielleicht liegt das aber auch nur an der noch nicht gefüllten TextArea...?

Die Methode die das Würfelergebnis anzeigt, ihr wird ein array mit den gewürfelten Zahlen übergeben (für den Angreifer gibt es maximal 3 Würfel und für den Verteidiger maximal 2 laut spielregeln)

Code:
	public static void zeigeWuerfelAn(Spieler spieler, int[] wuerfelAugen)
	{

			StringBuffer wuerfel = new StringBuffer();
			for(int i=0;i<wuerfelAugen.length;i++)
			{
				wuerfel.append(wuerfelAugen[i]+" ");				
			}
			SpielZugPanel.addMessage(spieler.getName()+" hat gewürfelt: "+wuerfel.toString());
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}

Die Methode addMessage:

Code:
	public static void addMessage(String neueMessage)
	{
//Die MessageList ist eine LinkedList in der alle Ausgaben als Strings gespeichert werden
				messageList.addFirst(neueMessage);
//hier wird der Textarea ans Ende der neue String angehängt
				messageTextArea.append("\n"+neueMessage);
//die variable textHoehe wird bei initialisierung des Programms aus einem Fontmetric errechnet.
				int pos = (int)messageTextArea.getLineCount()>4?(int)messageTextArea.getLineCount()*textHoehe:0;
//Hier wird dem Textpane (messagePane) die neue Anzeigeposition angegeben (das Scrollpane soll immer den untersten Teil der Textarea anzeigen)
				messagePane.getViewport().setViewPosition(new Point(0,pos));
	}


Wenn mir irgendjemand sagen kann woran das liegt und wie ich den Fehler evtl. beheben kann, wäre ich sehr dankbar!

Gruß Matthias
 

André Uhres

Top Contributor
Wenn ich dein risk4.jar starte bekomm ich nichts ausser einem schwarzen Polygon mit roten Linien.
Wenn ich mit der Maus drüber gehe, dann erscheinen drei Tooltips.
Wenn ich klicke rührt sich gar nichts ???:L
 

Matjes

Mitglied
Andre_Uhres hat gesagt.:
Wenn ich dein risk4.jar starte bekomm ich nichts ausser einem schwarzen Polygon mit roten Linien.
Wenn ich mit der Maus drüber gehe, dann erscheinen drei Tooltips.
Wenn ich klicke rührt sich gar nichts ???:L


Wieso Risk4? Es sollte eigentlich risk.jar sein, dieses hier:

http://dunklegarde.de.s332.evanzo-server.de/java/Risk.jar

bei mir läuft das, woran kann es liegen dass es bei dir nicht tut?

So sollte es aussehen:

risk.jpg
 

Matjes

Mitglied
Andre_Uhres hat gesagt.:
Der Link führt mich zu Risk.zip. Darin sind .class Dateien und risk4.jar.


ok, ich glaub ich weiß wieso das bei dir nicht funktioniert hat, hatte in meinem Projekt noch eine veraltete Jar File die in die Neue Jar mit rein kam, habe es aktualisiert und hoffe das funktioniert jetzt so bei dir, die jar sollte ja einfach mit doppelklick ausgeführt werden (wunder mich dass es bei dir als zip file deklariert war...?)

http://dunklegarde.de.s332.evanzo-server.de/java/Risk.jar


Danke für deine Bemühungen!
 

Matjes

Mitglied
*push*

Es wäre echt super wenn sich das jemand mal ankucken könnt und mir vielleicht sagen könnte wo hier der Fehler liegt, wie gesagt ich vermute dass es irgendwas mit Swing Threads zu tun hat... Bin echt ratlos und hänge an diesem (wahrscheinlich kleinen) Problem fest.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
L JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 7
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
N Swing JTextArea/JScrollpane: JScrollbar position AWT, Swing, JavaFX & SWT 8
w0ddes Swing JTextArea auf JScrollPane - Autoscroll?! AWT, Swing, JavaFX & SWT 2
C Breite JTextArea/JScrollPane setzen AWT, Swing, JavaFX & SWT 4
7 JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 8
N Mehrere JTextArea in einem JPanel und eine JScrollPane AWT, Swing, JavaFX & SWT 3
L JTextArea in JScrollPane verkleinert sich nicht mehr AWT, Swing, JavaFX & SWT 8
Tom299 JScrollPane(JTextArea) Scrollbar soll am Anfang stehen AWT, Swing, JavaFX & SWT 2
D JTextArea mit einer JScrollPane AWT, Swing, JavaFX & SWT 2
vogella JScrollPane und JTextArea AWT, Swing, JavaFX & SWT 6
B JTextArea und JScrollPane und DocumentListener AWT, Swing, JavaFX & SWT 2
C sorry aber JScrollPane mit JTextArea AWT, Swing, JavaFX & SWT 4
S JTextarea in JScrollpane -> scroll, Zeilenbeschränkung AWT, Swing, JavaFX & SWT 2
S Größe von jPanel bzw. jTextArea (in jScrollpane) anpassen AWT, Swing, JavaFX & SWT 1
G JTextArea + JScrollPane + JTabbedPane AWT, Swing, JavaFX & SWT 8
B JTextArea in GridBagLayout mit JScrollPane AWT, Swing, JavaFX & SWT 5
B JTextArea, JScrollPane und Java 1.5 AWT, Swing, JavaFX & SWT 4
D Alle Inhalte einer JTextArea in einem JScrollPane löschen AWT, Swing, JavaFX & SWT 2
B JTextArea mit GridBagLayout und JScrollPane. AWT, Swing, JavaFX & SWT 4
Z JTextArea in JScrollPane automatisch scrollen AWT, Swing, JavaFX & SWT 2
C JScrollPane und JTextArea AWT, Swing, JavaFX & SWT 3
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
RedEagle Swing JTextArea ist leer AWT, Swing, JavaFX & SWT 13
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
K Swing 2 JTextArea parrallel scrollable AWT, Swing, JavaFX & SWT 16
Hatsi09 JTextArea Inhalt verlinken AWT, Swing, JavaFX & SWT 4
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
S Ausgabe in JTextArea AWT, Swing, JavaFX & SWT 13
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Bluedaishi JtextArea AWT, Swing, JavaFX & SWT 6
V JScrollBar soll weiterscrollen, wenn Inhalt von JTextArea erweitert wird AWT, Swing, JavaFX & SWT 7
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
F JTextarea Steuern ~ consolenanbindung AWT, Swing, JavaFX & SWT 5
F Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste) AWT, Swing, JavaFX & SWT 2
F JTextArea hat keinen Rahmen AWT, Swing, JavaFX & SWT 10
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R JTextArea mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 6
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
HoloYoitsu jTextArea.setCaretPosition(); What am I doing wrong? AWT, Swing, JavaFX & SWT 0
S Zeilenumbruch jTextArea mit toString AWT, Swing, JavaFX & SWT 2
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
M JTextArea - Leertaste "sperren" AWT, Swing, JavaFX & SWT 1
S Inhalt der Java-Konsole in die JTextArea AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
S Swing Zahl der Zeilenumbrüche in einer JTextArea bestimmen AWT, Swing, JavaFX & SWT 1
F Swing Caret in JTextArea vergrößern AWT, Swing, JavaFX & SWT 2
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
N JFrame änliches wie JTextArea? AWT, Swing, JavaFX & SWT 2
A Swing JTextArea - Multi-Line-Editing AWT, Swing, JavaFX & SWT 2
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
O JTextArea befüllen AWT, Swing, JavaFX & SWT 2
G JTextArea on the fly aus anderem Programm befüllen AWT, Swing, JavaFX & SWT 4
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T Swing Ausgabe aus ArrayList in Klasse1 in jTextArea in Klasse2 AWT, Swing, JavaFX & SWT 2
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
M JTextArea Zeile hinzufügen AWT, Swing, JavaFX & SWT 4
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
Hoppelmann Swing Tasten in JTextArea blockieren AWT, Swing, JavaFX & SWT 2
S JTextArea Tastaturanschläge AWT, Swing, JavaFX & SWT 2
E Swing JTextArea in JFrame, wie nun WindowFocusListener implementieren? AWT, Swing, JavaFX & SWT 2
S Problem mit JButton und JTextArea AWT, Swing, JavaFX & SWT 2
J Swing Mitwachsende JTextArea+ JPanel AWT, Swing, JavaFX & SWT 4
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
M Probleme mit der Selektion einer JTextArea AWT, Swing, JavaFX & SWT 3
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
hdi Swing ListCellRenderer + JTextArea + LineWrap AWT, Swing, JavaFX & SWT 6
T ComponentOrientation in JTextArea AWT, Swing, JavaFX & SWT 3
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
G ein JTextArea in zwei JPanels AWT, Swing, JavaFX & SWT 2
padde479 Swing replace JTextArea funktioniert nicht AWT, Swing, JavaFX & SWT 2
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
Ollek JTextArea - Feste Zeilenanzahl(8 Zeilen) AWT, Swing, JavaFX & SWT 3
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
Ollek Text in JTextField und JTextArea zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
P Datenelement anderer Klasse in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
P Scrollbar JTextArea AWT, Swing, JavaFX & SWT 23
M Swing Ausgabe in JTextArea verzögern AWT, Swing, JavaFX & SWT 7
T Swing jTextArea soll sich der Fenstergröße anpassen beim ziehen?? AWT, Swing, JavaFX & SWT 2
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
S Swing JTextArea - Bild auf/ab Tasten implementieren AWT, Swing, JavaFX & SWT 4
J JTextArea verschwindet bei resize vom JFrame AWT, Swing, JavaFX & SWT 2
VfL_Freak "setAccelerator/KeyStroke" bei JTextArea ? AWT, Swing, JavaFX & SWT 6
P Swing JTextArea - beim neuzeichnen bleibt manchmal weißer Kasten AWT, Swing, JavaFX & SWT 10
Dit_ JTextArea zu Zeile X scrollen AWT, Swing, JavaFX & SWT 4
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben