Java Swing Main GUI Thread

tuedel

Aktives Mitglied
Guten Morgen!!

Ich habe folgendes Problem:
Ich möchte ein JPanel relativ zu einem anderen JPanel positionieren. Es besteht die Möglichkeit, dass das erste Panel zum entsprechendem Event noch nicht visible ist. In diesem Fall will ich dieses zeichnen lassen und in Abhängigkeit der Location mein zweites Panel positionieren. Das Problem ist, dass zwar die sequentielle Folge ausgeführt wird, aber scheinbar der Zeichenprozess nicht abgeschlossen wurde, sodass die Location zum Aufruf der Anzeige sich noch nicht geändert hat.

Bsp:

Java:
        if (!childTable.isVisible()) {
            JMain.getInstance().getLeaderBoard().setShow(this);
           
        }
           JMain.getInstance().showDetails(this, detailsTable);

Hier wird die childTable im Falle, dass sie nicht on screen ist, zum repaint angeregt. Zum Zeitpunkt der Darstellung der detailsTable ist die Location jedoch nicht aktualisiert und die Relativposition passt nicht.

Im Moment habe ich es mit einem Workaround gelöst, der mir aber nicht so recht gefällt.

Java:
        if (!childTable.isVisible()) {
            JMain.getInstance().getLeaderBoard().setShow(this);
            final Integer loc = this.getLocation().y;
            final EntryContainer c = this;
            JMain.getInstance().executeTask(new Runnable() {

                @Override
                public void run() {
                    while (loc == c.getLocation().y) {
                        // wait
                    }
                    JMain.getInstance().showDetails(c, detailsTable);
                }
            }, "Show Details");
        } else {
            JMain.getInstance().showDetails(this, detailsTable);
        }

Einen ähnlichen Fall hatte ich auch bei dem Aktualisieren einer Liste beobachtet. Da wurde diese nicht sortiert, obwohl bereits Daten hineingeschrieben worden sind. Dabei wurde dieser jedoch nicht vom Main GUI Thread ausgeführt.

Herzlichen Dank für eure Hilfe.
 

André Uhres

Top Contributor
Das Problem ist, dass zwar die sequentielle Folge ausgeführt wird, aber scheinbar der Zeichenprozess nicht abgeschlossen wurde

Läuft alles auf dem GUI Thread? Das kannst Du leicht überprüfen mit [c]SwingUtilities.isEventDispatchThread()[/c]. Der GUI Thread (auch EDT oder EventDispatchThread genannt) sollte eigentlich die Anzeige synchronisieren. Aber vielleicht verstehe ich Dein Problem auch falsch.

Gruß,
André
 

tuedel

Aktives Mitglied
Jap das Ganze wird auf dem EDT ausgeführt. Die Ausführung der Runnable in einem separatem Thread ist wie im gezeigten Beispiel zZ mein Workaround. Da ich eigentlich zuerst das JPanel von dem aus relativ gezeichnet werden soll, zur Darstellung anrege, sollte deren Position aktualisiert worden sein und zum Zeitpunkt des repaints des zweiten Panels zur Verfügung stehen.

Wie sich zeigt, ist dem aber nicht so und mein separater Thread muss einige ms warten..
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Swing startet nicht - java.lang.NoSuchMethodError: main AWT, Swing, JavaFX & SWT 8
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
O Ein Java-Programm mit Swing steuern AWT, Swing, JavaFX & SWT 1
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3
S Swing Java Swing AWT, Swing, JavaFX & SWT 6
D SQL Statements mit Java Swing benutzen AWT, Swing, JavaFX & SWT 4
D DatePicker für Java Swing AWT, Swing, JavaFX & SWT 2
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
S Java Swing Print() method AWT, Swing, JavaFX & SWT 4
S Java Swing auf Windows Phone AWT, Swing, JavaFX & SWT 6
M Kamera in Java Swing einbinden AWT, Swing, JavaFX & SWT 4
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
N JavaFX Umstieg von Swing auf Java FX AWT, Swing, JavaFX & SWT 6
Z Java-Swing : JComponent AWT, Swing, JavaFX & SWT 2
S JComboBox aus anderer Klasse füllen (Java-Swing) AWT, Swing, JavaFX & SWT 0
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
D Java Swing Cache AWT, Swing, JavaFX & SWT 0
T Java Swing Oberfläche aktualisiert sich nicht AWT, Swing, JavaFX & SWT 2
M Swing Java-Swing-Uebungen AWT, Swing, JavaFX & SWT 6
S Java Swing GUI mit MVC und Threads AWT, Swing, JavaFX & SWT 6
K Automatische Skalierung von GUI Elementen (Java Swing) AWT, Swing, JavaFX & SWT 2
A Java Swing Error AWT, Swing, JavaFX & SWT 3
D Layoutmanager in Java Swing vs. Java AWT AWT, Swing, JavaFX & SWT 3
R Swing Java Swing Gui und nebenläufige Threads AWT, Swing, JavaFX & SWT 4
J Swing MVC mit Java Swing, insbesondere die Controller-Struktur AWT, Swing, JavaFX & SWT 4
2 Werde Java GUIs immer noch mit dem in die Jahre gekommen Swing gemacht? AWT, Swing, JavaFX & SWT 12
S [Java+Scala] GUI mit Swing oder JavaFX AWT, Swing, JavaFX & SWT 6
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
T SWF in JAVA [Swing] AWT, Swing, JavaFX & SWT 4
I Java Swing - repaint() funktioniert nicht AWT, Swing, JavaFX & SWT 4
S Beim Aufbau GUI: java.lang.IllegalAccessError in javax.swing AWT, Swing, JavaFX & SWT 6
D Probleme mit Java Swing unter Mac OSX AWT, Swing, JavaFX & SWT 13
M icons für die java.swing components wie jbutton etc AWT, Swing, JavaFX & SWT 5
N Java Swing Event Handling AWT, Swing, JavaFX & SWT 7
S Implementierung Java Swing HelloWorld - verständnisproblem AWT, Swing, JavaFX & SWT 3
oliver1974 Compiz-Fusion und Java/Swing. Hölle. AWT, Swing, JavaFX & SWT 6
C Architekturfrage Java Swing (MVC) AWT, Swing, JavaFX & SWT 3
M Java mit Swing - Elemente erst nach klick sichtbar AWT, Swing, JavaFX & SWT 13
A video-datei in java abspielen (SWING) AWT, Swing, JavaFX & SWT 8
M Java, Swing: MouseMotionListener AWT, Swing, JavaFX & SWT 19
Z Bei Problem mit Java Swing brauche dringende Hilfe AWT, Swing, JavaFX & SWT 3
L swing und java applet.keine Konflikt ,oder? AWT, Swing, JavaFX & SWT 3
P bmp in java-swing darstewllen AWT, Swing, JavaFX & SWT 2
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
Juelin Java <-> Delphi AWT, Swing, JavaFX & SWT 3
H Exceptions seit java: 1.6.0_65 Umstellung AWT, Swing, JavaFX & SWT 3
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M JavaFX java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found AWT, Swing, JavaFX & SWT 5
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
W Kennt jemand Dear ImGui (und den Java-Wrapper dazu)? AWT, Swing, JavaFX & SWT 0
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
D JAVA Schieberegler AWT, Swing, JavaFX & SWT 6
N JavaFX Einfacher Taschenrechner mit Scene Builder und Java FX AWT, Swing, JavaFX & SWT 0
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
Encera Java FX im Eclipse-Marketplace nichtmehr auffindbar AWT, Swing, JavaFX & SWT 6
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
M Java Dateien kopieren mit Fortschrittsbalken AWT, Swing, JavaFX & SWT 13
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
E 3D-Grafik Java Fatal error bei LWJGL AWT, Swing, JavaFX & SWT 2
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
E Java-TexturePaint sehr langsam AWT, Swing, JavaFX & SWT 9
N Java MySQL Datenbank durchsuchen? AWT, Swing, JavaFX & SWT 7
maximstein JavaFX WebView - java.lang.NoSuchMethodError: 'boolean com.sun.prism.ResourceFactory.isDisposed()' AWT, Swing, JavaFX & SWT 4
Splayfer Custom Font in AttributedString Java AWT, Swing, JavaFX & SWT 4
imawake Java Paket-Tracking Programm 📦 AWT, Swing, JavaFX & SWT 7
izoards *.doc Seitenränder per Java setzen... AWT, Swing, JavaFX & SWT 14
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
N Java Mouse Listiner macht alles zusammen AWT, Swing, JavaFX & SWT 4
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
J Spiel mit Java AWT, Swing, JavaFX & SWT 9
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
izoards Java FX Window Event SHOWING AWT, Swing, JavaFX & SWT 17
N FXMLLoader.load java.lang.RuntimeException: Gradle AWT, Swing, JavaFX & SWT 2
T Java GUI - Würfel Programm AWT, Swing, JavaFX & SWT 6
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
dtr84 JavaFX/OpenJFX mittels Apache Ivy einbinden (Java 11) AWT, Swing, JavaFX & SWT 18
M Jogl und Java 3d AWT, Swing, JavaFX & SWT 0
S0PEX JavaFX Java 8 auf 15 migrieren OpenJFX mit Gradle eingebunden, jedoch nicht gefunden !? AWT, Swing, JavaFX & SWT 4
I Gui in bestehendes Java-Programm AWT, Swing, JavaFX & SWT 11
V Java-Zeichenfeld mit AWT AWT, Swing, JavaFX & SWT 3
N java Gui friert scheinbar zufällig ein AWT, Swing, JavaFX & SWT 5
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben