Starten von verschiedenen JFrames

Status
Nicht offen für weitere Antworten.

skullbocks

Mitglied
Hi,

also ich habe da mal eine Frage und zwar habe ich eine "gui" geschrieben in die man Daten eingeben kann, drückt man in dieser gui auf den Button Senden, so wird von dort aus eine neue Classe aufgerufen.
Das klappt auch alles sowiet einwandfrei, nur in der soebend aufgerufnen classe sende ich daten an einen Server der mir dann ein Apfelmänchen errechnet und die Daten zurück sendet.
Das kalppt soweit auch.
Jetzt zum Problem sobald ich die Daten habe, rufe ich eine weiter classe auf die mir eine Bild in einem JFrame anzeiget, das klappte auch vorher ohne weiteres nur seit dem die gui gestartet hat klappt es nicht mehr und mir werden die Bilder nicht mehr dirkt nach der ankunft angezeigt sondern erst sobald die ganze berechnung vollendt ist.

Achja ich lasse mir 10 Bilder errechnen, die eigentlich immer anders aussehen sollten, aber wie schon erwähnt seit dem die gui von anfang an läuft, sehe ich zum Schluß 10 mal das gleiche Bild.

Meine Frage daher, wie teilt man dem Programm mit, dass es immer wieder eine neue Java application starten soll oder woran kann es liegen, dass mir das Bild erst ganz zum schluss angeziegt wird.

Noche eine Frage, wie stelle ich es an, das wenn ich ein Fenster schließe nicht gleich alle Fenster geschlpssen werden, nezute zur ZEit die Funktion:

Code:
System.exit(EXIT_ON_CLOSE);

Hier der Code, der die 1o Bilder erzeugt, mit dem aufruf der Classe ErzeugeBild:
Code:
for(int lauf_zoom = 0; lauf_zoom < 5; lauf_zoom++) {
                                 ...
while(lauf_server < parzellen){
sende_an_server(ip_adresse, port, temp_eckpunkt_x1, temp_eckpunkt_x2, eckpunkt_y1, eckpunkt_y2, iterationen, typ);
                                ...
empfange_von_server(ip_adresse, port, lauf_server);
                                ...
lauf_server++;
}
                                ...
new ErzeugeBild(pixel_x, pixel_y, anz_Farben, pixel_array);
                                ...
}


Ich würde mich sehr über eure Hilfe Freuen ;-D
 

skullbocks

Mitglied
Hi,

danke für deien Antwort, wie meinst du das die Berechnung auslagern.
Es hat ja alles Funktioniert bevor die Grafische Oberfläche da war, noche eine Farge zu "frame.dispose()" wie kann ich ein anders Fenster auswhählen?

mfg
skullbocks
 

Wildcard

Top Contributor
1) Die GUI läuft in einem eigenen Thread, dem Event Dispatcher Thread (kurz EDT).
Startest du nun von der GUI aus eine Berechnung, blockierst du den EDT und die gesamte Anwendung hängt fest bis die Berechnung abgeschlossen ist (daraus resultiert übrigens der Urban Myth das Java langsam sei :roll:).
Damit deine Anwendung Aktivität zeigen kann muss die Berechnung in einem eigenen Thread laufen.

2)konkretisiere die Frage
 

André Uhres

Top Contributor
So kannst du den Code im Hintergund ausführen, damit die GUI nicht blockiert:
Code:
       SwingWorker worker = new SwingWorker() {
            protected Object doInBackground() throws Exception {
                for(int lauf_zoom = 0; lauf_zoom < 5; lauf_zoom++) {
                    while(lauf_server < parzellen){
                        sende_an_server(ip_adresse, port, temp_eckpunkt_x1, temp_eckpunkt_x2, eckpunkt_y1, eckpunkt_y2, iterationen, typ);
                        empfange_von_server(ip_adresse, port, lauf_server);
                        lauf_server++;
                    }
                    new ErzeugeBild(pixel_x, pixel_y, anz_Farben, pixel_array);
                }
                return null;
            }
        };
        worker.execute();
Falls du Komponenten zu einem JPanel hinzufügst, musst du jeweils panel.revalidate() machen.
Ich weiss nicht, was du mit "ein anders Fenster auswhählen" meinst.
Wenn du einen neuen JFrame anzeigen willst, dann musst du ihn erstmal erzeugen
und dann sichtbar machen (setVisible(true)).
Übrigens reicht ein Fenster zum Anzeigen der Bilder.
 

skullbocks

Mitglied
Danke für die schnelle Antwort, ich werde es nachher mal Testen. Ich weiß das ein fenster zur Anzeige der Bilder reichen würde, nur das ich zum schluß alle Bilder sehen muss.

mfg
skullbocks
 

skullbocks

Mitglied
Hi,

so ich habe versucht das so zu implementieren wie du es mir gepostet hast, nur bekomme ich immer die Meldung, dass er den SwingWorker nicht kennt, habe auch schon bei google gesucht nur so wirklich was gefunden habe ich leider nicht.
Würde mich freuen, wenn mir jemand sagen könnte wie es mit dem SwingWorker funktioniert;-D.

mfg
skullbocks
 

byte

Top Contributor
Um SwingWorker nutzen zu können, musst Du Java ab Version 1.6 benutzen. Falls dir das nicht möglich ist, dann befolge Wildcards Rat und lager das ganze in einen Thread aus.
 

skullbocks

Mitglied
Nun die Frage eines unwisenden wie erstelle ich einen neuen Thread ;-).....

Vielen Danke für die schnellen Antworten!!

mfg
skullbocks
 

skullbocks

Mitglied
Ja super es funktioniert ;-D Danke Danke
allso besser kann es ja nicht gehen, muss echt sagen das Forum die Leute dahinter sind genial!!!

Danke für die super Tipps und Hilfestellungen!

mfg
skullbocks
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
M Wieso verändert sich die Framerate nach erneutem Starten des AnimationTimer? AWT, Swing, JavaFX & SWT 18
G Thread starten Swing AWT, Swing, JavaFX & SWT 5
L JavaFX OpenJFX im Debug Mode starten AWT, Swing, JavaFX & SWT 8
T Starten des Programms mit dem Progressbar AWT, Swing, JavaFX & SWT 2
L JavaFX JavaFX Forms mit Groovy starten AWT, Swing, JavaFX & SWT 1
P Gui lässt sich nicht starten AWT, Swing, JavaFX & SWT 10
J Thread per Button starten AWT, Swing, JavaFX & SWT 10
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
E JavaFX Stage.show() in ursprünglichem Thread starten AWT, Swing, JavaFX & SWT 7
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
D Textfield bei starten füllen. AWT, Swing, JavaFX & SWT 5
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
A Zufallsgenerator starten bei Klick auf Radiobutton AWT, Swing, JavaFX & SWT 3
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
C Thread in Klassen starten AWT, Swing, JavaFX & SWT 4
C Methode über Buttonklick starten AWT, Swing, JavaFX & SWT 8
S jLabel / jText beim starten ausblenden AWT, Swing, JavaFX & SWT 2
S Jframe aus JDialog starten AWT, Swing, JavaFX & SWT 4
J SWING - Programm ohne Eclipse etc. starten AWT, Swing, JavaFX & SWT 7
A JFrame im JFrame starten AWT, Swing, JavaFX & SWT 4
P Eigene CMD GUI zum Starten von JAR AWT, Swing, JavaFX & SWT 10
C drawString wird beim starten des Programmes nicht ausgeführt AWT, Swing, JavaFX & SWT 3
A Gui Starten AWT, Swing, JavaFX & SWT 3
S Java GUI Anwendung ohne Konsole starten AWT, Swing, JavaFX & SWT 6
M Swing JFrame aus anderer Klasse starten/anzeigen AWT, Swing, JavaFX & SWT 2
A Applet Applet aus Code neu starten AWT, Swing, JavaFX & SWT 2
S Applet starten AWT, Swing, JavaFX & SWT 4
T Programm vom Desktop starten! AWT, Swing, JavaFX & SWT 2
V Applet Applet starten schlägt fehl AWT, Swing, JavaFX & SWT 2
J Spieleprogramm als "richtiges" Spiel starten AWT, Swing, JavaFX & SWT 19
F Applet Applet starten...(+Timer?) AWT, Swing, JavaFX & SWT 12
M Swing Eine andere Klasse über Button starten und in TextArea ausgeben AWT, Swing, JavaFX & SWT 13
J Aus ActionPerformed ein Plugin starten AWT, Swing, JavaFX & SWT 4
D Firefox aus Programm starten AWT, Swing, JavaFX & SWT 4
O JPanel aus Applet starten AWT, Swing, JavaFX & SWT 3
M Ecipse Wizard starten AWT, Swing, JavaFX & SWT 6
capgeti Wie Programm in JPanel (o.ä.) starten? AWT, Swing, JavaFX & SWT 3
Q mit button starten AWT, Swing, JavaFX & SWT 4
T Frame in Main Starten AWT, Swing, JavaFX & SWT 5
T Anwendung starten AWT, Swing, JavaFX & SWT 5
R Applet aus JFrame starten AWT, Swing, JavaFX & SWT 2
E NoClassDefFoundError beim Starten einer Shell AWT, Swing, JavaFX & SWT 3
E Starten meiner GUI, aber wie? AWT, Swing, JavaFX & SWT 7
K Instanz von JEditorPane starten AWT, Swing, JavaFX & SWT 3
D Beim Starten ein JTextfield Focus geben AWT, Swing, JavaFX & SWT 7
X Externe Anwendungen in JInternalframe starten. AWT, Swing, JavaFX & SWT 5
T Prozesse starten wenn JDialog erscheint AWT, Swing, JavaFX & SWT 2
G Seltsames Phänomen beim starten meiner Applikation AWT, Swing, JavaFX & SWT 8
W Externe Programme in JFrame starten AWT, Swing, JavaFX & SWT 4
M Kann JAR nicht starten AWT, Swing, JavaFX & SWT 6
O Anwendung aus dem Programm heraus neu starten AWT, Swing, JavaFX & SWT 2
D Standard Email Client starten AWT, Swing, JavaFX & SWT 8
S Fenster soll im Zentrum starten. AWT, Swing, JavaFX & SWT 2
A Java Application mit Batch starten? AWT, Swing, JavaFX & SWT 9
N Animation nach einem bestimmten Ereignis starten lassen? AWT, Swing, JavaFX & SWT 4
V SWT Programm als jar-File starten AWT, Swing, JavaFX & SWT 5
M Programme in JFrame starten AWT, Swing, JavaFX & SWT 9
L Weiss nicht ob es hier her gehört - GUI ohne Konsole starten AWT, Swing, JavaFX & SWT 10
JavaJakob22 ButtonGroups in verschiedenen Packages AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
P Zwischen verschiedenen Panels wechseln AWT, Swing, JavaFX & SWT 3
N JavaFX TreeView mit verschiedenen Datentypen AWT, Swing, JavaFX & SWT 8
B Java FX TableView Zeilen mit verschiedenen Typen AWT, Swing, JavaFX & SWT 15
R JTextArea mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 6
C Swing Aus verschiedenen Klassen zeichnen. AWT, Swing, JavaFX & SWT 2
HoloYoitsu Swing JButton in verschiedenen Winkeln drehen AWT, Swing, JavaFX & SWT 0
F Swing Drag and Drop in JTree aus verschiedenen Listen AWT, Swing, JavaFX & SWT 6
HaukeG Swing Drag & Drop in verschiedenen Varianten AWT, Swing, JavaFX & SWT 4
X JTable mit verschiedenen Objekten füllen AWT, Swing, JavaFX & SWT 14
F jTable mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 4
MQue JTable mit verschiedenen Models AWT, Swing, JavaFX & SWT 4
K Design von verschiedenen Rechnern AWT, Swing, JavaFX & SWT 13
dzim JFace TableViewer mit verschiedenen Inhalten AWT, Swing, JavaFX & SWT 4
A Verständnissproblem bei verschiedenen GUI's AWT, Swing, JavaFX & SWT 6
A Design Problem bei verschiedenen Oberflächen AWT, Swing, JavaFX & SWT 3
S [SWT] Toogle Button 2 verschiedenen images? AWT, Swing, JavaFX & SWT 6
C Verschachtelung von JPanels mit verschiedenen LayoutManager AWT, Swing, JavaFX & SWT 4
B Auto. anpassen bei verschiedenen Aulösungen AWT, Swing, JavaFX & SWT 9
T Die Schrift in verschiedenen Farben blinken zu lassen AWT, Swing, JavaFX & SWT 2
D Textzeielen mit verschiedenen Textfarben in JList? AWT, Swing, JavaFX & SWT 6
P in JFrame zwischen verschiedenen JPanels wechseln AWT, Swing, JavaFX & SWT 7
N Zufallszahlen in verschiedenen Bereichen. AWT, Swing, JavaFX & SWT 4
B JList Zeilen in verschiedenen Farben markieren. AWT, Swing, JavaFX & SWT 3
K JTextArea mit verschiedenen Farben betreiben [Chat] AWT, Swing, JavaFX & SWT 3
G JTextArea.append() in verschiedenen Farben AWT, Swing, JavaFX & SWT 2
J Daten in verschiedenen JTables AWT, Swing, JavaFX & SWT 5
K JFrames in verschiedenen Fenstern AWT, Swing, JavaFX & SWT 2
F Arrays in JFrames AWT, Swing, JavaFX & SWT 4
A Verständnisfragen im Umgang mit update() und JFrames AWT, Swing, JavaFX & SWT 5
P Aktualisierung von jLabel in jFrames AWT, Swing, JavaFX & SWT 8
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
O Swing Aufbau eines JFrames AWT, Swing, JavaFX & SWT 2
javampir Swing Wanderung eines JFrames AWT, Swing, JavaFX & SWT 7
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
B Event Handling Mausbewegung auch außerhalb eines JFrames registrieren AWT, Swing, JavaFX & SWT 2
A Probleme mit 2 JFrames in einem Programm AWT, Swing, JavaFX & SWT 7
B Größer-/Kleinerziehen eines JFrames/JPanels erkennen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben