Portal > Foren > Java > Desktop-Applikationen und Grafik > Anderes Panel nach Klick auf einen Button laden
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 08.09.2004, 15:23 Nach oben    #1
Transmitter
Gast
 
Beiträge: n/a
Standard Anderes Panel nach Klick auf einen Button laden

Hi

Ich habe eine Background Klasse mit
private JPanel navi = null;
Und verschiedene JPanel Klassen, jeweils Navileisten:
Navi1, Navi2, Navi3

In einer switch in Background.class lade ich per default Navi1, wenn ich aber in der Navi1 auf einen Button klicke, dann soll in Background die Methode getJPanelEast, in der die switch ist, neu aufgerufen werden.

Wie bekomme ich das denn hin, dass ich aus der Navi1 in der mouseClicked Methode eine Methode von Background aufrufen kann?
Oder wie kann ich es anders machen, damit es funktioniert?

Danke schon mal
Bye, Transmitter
 
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 08.09.2004, 17:04 Nach oben    #2
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 432
Standard

Hi,

ich mache das immer, indem ich den MouseListener in der Haupt-Klasse (in dem Fall Background.java) implementiere und es der entsprechenden Klasse entweder im Konstruktor oder in einer eigenen Methode übergebe.
__________________
Denk mal darüber nach...

Lars

ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen.
www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de
Sym 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 08.09.2004, 19:02 Nach oben    #3
Transmitter
Gast
 
Beiträge: n/a
Standard

Aber woher weiß die Background denn dann, welcher Button geklickt wurde?
 
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 08.09.2004, 22:14 Nach oben    #4
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 432
Standard

Hi,

Du kannst den ButtonListener doch auch in Background implementieren und mit übergeben. Oder Du schreibst Deine Panels als interne Klasse mit in Deine Backgroundklasse schreiben, dann hättest Du Deine Probleme wohl nicht mehr.
__________________
Denk mal darüber nach...

Lars

ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen.
www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de
Sym 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 09.09.2004, 09:36 Nach oben    #5
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.135
Standard

Mal eine ganz bescheuerte Idee:
Übergeb den Panels die Instanz deines Backgrounds, welche die Panels dann an ihre Buttons weiterleiten, die wiederrum die entsprechende Methode des Backgrounds aufrufen.
Aber das hatte Sym ja schon fast geschrieben... ^^"
pago 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 09.09.2004, 12:19 Nach oben    #6
Transmitter
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von TheDragonMaster
Übergeb den Panels die Instanz deines Backgrounds, welche die Panels dann an ihre Buttons weiterleiten
Klasse Idee, nach ein wenig Arbeit funktioniert das jetzt so

Dankeschön
 
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 09.09.2004, 13:13 Nach oben    #7
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 432
Standard

Zitat:
Zitat von TheDragonMaster
Mal eine ganz bescheuerte Idee:
Übergeb den Panels die Instanz deines Backgrounds, welche die Panels dann an ihre Buttons weiterleiten, die wiederrum die entsprechende Methode des Backgrounds aufrufen.
Aber das hatte Sym ja schon fast geschrieben... ^^"
Das aber eigentlich nicht die richtige Art. Normalerweise baue ich meine Klassen so, dass ich sie auch mal in anderen Programmen nutzen kann. Wenn ich dann ein Background mit übergeben muss, was wohl nicht immer sinnig ist, könnte das Probleme geben. Gerade deshalb haben die Klassen ja häufig eine addListener()-Methode.
__________________
Denk mal darüber nach...

Lars

ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen.
www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de
Sym 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
Referenc auf das oberste Panel eines CardLayouts bekommen Arvodan Desktop-Applikationen und Grafik 1 20.01.2006 08:39
Problem mit Zugriff von externer class auf Panel Treter_Peter Desktop-Applikationen und Grafik 2 24.12.2004 13:22


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 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