![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 29.08.2005
Beiträge: 20
|
Hallo Forum! Erstes Posting seit dem Umzug hier... Folgende Situation: Ich will eine Swing GUI bauen, die verschiedene Sammlungen von Daten anzeigt. Dazu wollte ich ein CardLayout verwenden, um jede Sammlung in einer eigenen Karte anzuzeigen. Das ganze ist in einem JPanel abgelegt in dem es 2 weitere Panels gibt: ein NaPanel das Buttons enthält um vor und zurück zu gehen und ein Panel das die "oberste Karte" anzeigt. (halt JPanel mit CardLayout). Klappt auch ganz gut soweit. Jetzt wollte ich aber in der NavBar ein Button "Clear All" anlegen, der von der moment Angezeigten Karte alle Felder löscht, Checkboxen unchecked, etc... Das Problem: Ich bekomme keine Referenz auf die oberste Karte! Hatte erst vor, die Referenz auf die jeweils aktuelle Karte in ner Variablen abzulegen, aber dann hab ich das problem an ner anderen Stelle... Könnte natürlich immer wenn eine Karte aufgerufen wird, in dem Vector in dem ich die Karen ablege suchen, bis ich die Karte gefunden hab, und diese in die Variable schreiben...aber das erscheint mir schwer unelegant. Hat jemand schonmal das Problem gehabt? Grüße Arvodan |
| | |
| | Nach oben #2 |
| Neuer Benutzer Registriert seit: 29.08.2005
Beiträge: 20
|
Hmm, sieht so aus, als hätte sich damit noch niemand beschäftigt... Hab aber ne Lösungsidee: Wirft das Panel nicht einen Event, sobald es sichtbar wird? Den könnte man dann doch in nem EventListener abfangen und dadurch die Referenz auf das Panel bekommen und diese in einer lokalen Variable ablegen. Die Frage ist nur, wirft das Panel ein solches Event und welches? Und wenn nicht, kann ich es dazu bekommen, das es das tut? Ich geh mal in die API suchen, aber wenn jemand ne Idee dazu hat....nur her damit... /edit: Problem gelöst! Sobald das Panel sichtbar wird, löst das einen ComponentEvent.COMPONENT_SHOWN aus. Meine Hauptklasse implementiert dann einfach den ComponentListener und holt sich in der Methode die zu dem Event gehört einfach die Reference mit getComponent(). Dann mit instanceof kontrollieren, das es auch der richtige Typ ist, und in die lokale Variable topCard schreiben...und schon hab ich immer die Referenc auf die oberste Karte. Vielleicht hilft das ja irgendjemand anderem auch weiter! Grüße Arvodan Geändert von Arvodan (20.01.2006 um 08:56 Uhr) |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Vokabeltrainer | asenodin | Allgemeine Java-Programmierung | 9 | 28.05.2006 21:04 |
| Line2D.Double-Objekt auf Panel zeichnen - kein Graphics-Objekt vorhanden :-/ | Ben | Desktop-Applikationen und Grafik | 10 | 02.03.2006 15:34 |
| Hilfe benötigt... | arcor | Allgemeine Java-Programmierung | 6 | 25.01.2006 19:19 |
| Problem mit Zugriff von externer class auf Panel | Treter_Peter | Desktop-Applikationen und Grafik | 2 | 24.12.2004 13:22 |
| Anderes Panel nach Klick auf einen Button laden | Transmitter | Desktop-Applikationen und Grafik | 6 | 09.09.2004 13:13 |