Portal > Foren > Java > Desktop-Applikationen und Grafik > Referenc auf das oberste Panel eines CardLayouts bekommen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 18.01.2006, 13:55 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 29.08.2005
Beiträge: 20
Standard Referenc auf das oberste Panel eines CardLayouts bekommen

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
Arvodan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.01.2006, 08:39 Nach oben    #2
Neuer Benutzer
 
Registriert seit: 29.08.2005
Beiträge: 20
Standard

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)
Arvodan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45