App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Rückgabewerte bei Java-Fenstern
- Ersteller mj
- Erstellt am
mj
Technische Administration, Dinosaurier, ,
- Mitglied seit
- 17.10.2000
- Beiträge
- 19.529
- Renomée
- 272
- Standort
- Austin, TX
- Mein Laptop
- 2,4kg schwer
- Prozessor
- eckig... glaub ich
- Mainboard
- quadratisch, praktisch, gut
- Kühlung
- kühler?
- Speicher
- ja
- Grafikprozessor
- auch
- Display
- viel bunt
- HDD
- ist drin
- Optisches Laufwerk
- ist auch drin (irgendwo)
- Soundkarte
- tut manchmal tuuut
- Gehäuse
- mit aufkleber!
- Netzteil
- so mit kabel und so... voll toll
- Betriebssystem
- das eine da das wo dingenskirchen halt, nech?
- Webbrowser
- so ein teil da... so grün und so
- Verschiedenes
- nunu!
Also entweder ich bin zu blöd oder es geht nicht, folgendes habe ich vor:
Aus einem Frame heraus wird ein zweites Frame instanziiert, welches in einem Feld einen gewissen dort einzugebenden Wert suchen soll. Wenn es diesen Wert findet, soll das Fenster geschlossen werden, den Wert und true zurückgeben, wenn es den Wert nicht findet soll es geschlossen werden, den Wert und false zurückgeben...
Ich krieg das ums verrecken nicht hin, hat jemand einen Tipp? Der Wink zu nützlicher Dokumentation wäre bereits hilfreich genug, es kann doch nicht unmöglich sein, neue Fenster zu instanziieren und beim Schließen (oder betätigen eines Buttons) Werte zurückgeben zu lassen.
Aus einem Frame heraus wird ein zweites Frame instanziiert, welches in einem Feld einen gewissen dort einzugebenden Wert suchen soll. Wenn es diesen Wert findet, soll das Fenster geschlossen werden, den Wert und true zurückgeben, wenn es den Wert nicht findet soll es geschlossen werden, den Wert und false zurückgeben...
Ich krieg das ums verrecken nicht hin, hat jemand einen Tipp? Der Wink zu nützlicher Dokumentation wäre bereits hilfreich genug, es kann doch nicht unmöglich sein, neue Fenster zu instanziieren und beim Schließen (oder betätigen eines Buttons) Werte zurückgeben zu lassen.
StrgAltEntf
Admiral Special
Da gibt's keinen direkten Weg so weit ich weiß.
Was man machen kann, ist, dem 2ten Frame ne Referenz z.B. auf den ersten Frame (oder auf ein anderes Objekt) zu übergeben, so dass der 2te Frame dem ersten Frame den Wert über einen entsprechenden Methodenaufruf oder über ein Event übergeben kann (frame1.setBlabla(wert, true); )
Was man machen kann, ist, dem 2ten Frame ne Referenz z.B. auf den ersten Frame (oder auf ein anderes Objekt) zu übergeben, so dass der 2te Frame dem ersten Frame den Wert über einen entsprechenden Methodenaufruf oder über ein Event übergeben kann (frame1.setBlabla(wert, true); )
mj
Technische Administration, Dinosaurier, ,
- Mitglied seit
- 17.10.2000
- Beiträge
- 19.529
- Renomée
- 272
- Standort
- Austin, TX
- Mein Laptop
- 2,4kg schwer
- Prozessor
- eckig... glaub ich
- Mainboard
- quadratisch, praktisch, gut
- Kühlung
- kühler?
- Speicher
- ja
- Grafikprozessor
- auch
- Display
- viel bunt
- HDD
- ist drin
- Optisches Laufwerk
- ist auch drin (irgendwo)
- Soundkarte
- tut manchmal tuuut
- Gehäuse
- mit aufkleber!
- Netzteil
- so mit kabel und so... voll toll
- Betriebssystem
- das eine da das wo dingenskirchen halt, nech?
- Webbrowser
- so ein teil da... so grün und so
- Verschiedenes
- nunu!
GAH! Ich frag mich, warum das bei Java so unnötig kompliziert gemacht wird... aber was solls, da muss ich durch
StrgAltEntf
Admiral Special
Naja, mit 2 Rückgabewerten isses allgemein schwierig - entweder, man verpackt beide in irgendeine Art Container und gibt diesen zurück oder man schreibt eben einen oder beide der Rückgabewerte in ein Objekt, auf das eine Referenz übergeben wurde.
Edit (Müll gelöscht):
Das hat mich jetzt doch etwas beschäftigt...
Was funktioniert:
Aufruf:
Der Thread muss gestartet werden, bevor gui.show() aufgerufen wird. Die GUI-Updates beschleunigne die Sache aber nicht gerade
Edit (Müll gelöscht):
Das hat mich jetzt doch etwas beschäftigt...
Was funktioniert:
Code:
class WertThread extends Thread {
WertFrame gui;
Wert wert;
public WertThread(WertFrame gui, Wert wert) {
this.gui = gui;
this.wert = wert;
}
public void run() {
int i;
for (i=0; i< 10000; i++) {//lange Berechnung
gui.update(i);
Thread.yield();//unterbrechen, um GUI-Updates u.ä. Zeit zu geben
}
this.wert.setWert(i);
gui.close();
}
}
Code:
Wert wert = new Wert();
WertFrame gui = new WertFrame();
new WertThread(gui, wert).start();
gui.show();
System.out.println("Ergebnis: "+wert.getWert());
Zuletzt bearbeitet:
Das ist allerdings ziemlich unsauber.
Am saubersten, aber auch etwas aufwendiger, ist es, wenn Du die Infos mit Events verarbeitest.
Definier Dir am Besten ein eigenes Event und wirf das, wenn der Wert eingegeben wurde.
In dem Event selber kannst Du dann Methoden wie isOk() oder getWert() implementieren.
Dann brauchst Du noch einen Event-Listener, der auf das Event hört und bei Eintreten der Events irgendwas unternimmt (z.B. Wert und OK abfragen, ausgabe irgendwo starten).
Am saubersten, aber auch etwas aufwendiger, ist es, wenn Du die Infos mit Events verarbeitest.
Definier Dir am Besten ein eigenes Event und wirf das, wenn der Wert eingegeben wurde.
In dem Event selber kannst Du dann Methoden wie isOk() oder getWert() implementieren.
Dann brauchst Du noch einen Event-Listener, der auf das Event hört und bei Eintreten der Events irgendwas unternimmt (z.B. Wert und OK abfragen, ausgabe irgendwo starten).
StrgAltEntf
Admiral Special
Ja, am Saubersten isses mit Events - wenn man sich erstmal dazu durchgerungen hat, eigentlich auch garnicht so wild (besonders, falls die IDE einem einen Teil der Arbeit abnimmt - könnt mir vorstellen, dass Eclipse das macht)
mj
Technische Administration, Dinosaurier, ,
- Mitglied seit
- 17.10.2000
- Beiträge
- 19.529
- Renomée
- 272
- Standort
- Austin, TX
- Mein Laptop
- 2,4kg schwer
- Prozessor
- eckig... glaub ich
- Mainboard
- quadratisch, praktisch, gut
- Kühlung
- kühler?
- Speicher
- ja
- Grafikprozessor
- auch
- Display
- viel bunt
- HDD
- ist drin
- Optisches Laufwerk
- ist auch drin (irgendwo)
- Soundkarte
- tut manchmal tuuut
- Gehäuse
- mit aufkleber!
- Netzteil
- so mit kabel und so... voll toll
- Betriebssystem
- das eine da das wo dingenskirchen halt, nech?
- Webbrowser
- so ein teil da... so grün und so
- Verschiedenes
- nunu!
Ich hab die Lösung mittlerweile völlig anders implementiert, ich übergebe dem neuen Fenster eine Referenz des alten Fensters, blende dieses anschließend aus und rufe dann aus dem neuen Fenster eine Methode im alten Fenster auf, um Werte zu übergeben. Ist leicht, geht schnell und läuft 1A.
mj
Technische Administration, Dinosaurier, ,
- Mitglied seit
- 17.10.2000
- Beiträge
- 19.529
- Renomée
- 272
- Standort
- Austin, TX
- Mein Laptop
- 2,4kg schwer
- Prozessor
- eckig... glaub ich
- Mainboard
- quadratisch, praktisch, gut
- Kühlung
- kühler?
- Speicher
- ja
- Grafikprozessor
- auch
- Display
- viel bunt
- HDD
- ist drin
- Optisches Laufwerk
- ist auch drin (irgendwo)
- Soundkarte
- tut manchmal tuuut
- Gehäuse
- mit aufkleber!
- Netzteil
- so mit kabel und so... voll toll
- Betriebssystem
- das eine da das wo dingenskirchen halt, nech?
- Webbrowser
- so ein teil da... so grün und so
- Verschiedenes
- nunu!
Nö, überhaupt nicht. Mehrere Konstruktoren erlauben das Öffnen auf verschiedene Arten
Ähnliche Themen
- Antworten
- 0
- Aufrufe
- 52K
- Antworten
- 0
- Aufrufe
- 35K
- Antworten
- 0
- Aufrufe
- 234K