Variablen aus anderen Klassen übergreifend verwenden

Status
Nicht offen für weitere Antworten.

iflash

Mitglied
Hallo Gemeinde,


scheinbar bin ich zu blöd, um OO zu kapieren, denn ich stoße immer wieder auf das gleiche Problem:

Eine Java-Klasse kümmert sich um alles, was im Haupfenster so passiert. MainWindow

Eine andere kümmert sich um das Menü. Menu

Eine dritte um eine Toolbar. ToolBar

Und so weiter.

Wenn nun eine Klasse aus irgendeinem Grund einen Verweis auf das Fenster benötigt (zum Beispiel: Im Menü wird "Öffnen" geklickt, also will die Klasse die awt-Dialogbox aufmachen. Doch die will den Parent (also das Fenster der Klasse MainWindow haben), auf das ich aber keinen Zugriff in Menü habe. Ich kann doch nicht jeder Klasse, die Zugriff braucht, die Referenz auf das Fenster in der Argumentliste mitgeben? Gibt es denn überhaupt keine Möglichkeit, eine globale Referenz zu schaffen?

Bitte Hilfe, denn langsam frage ich mich, ob Java eine gute Wahl für mich ist ...

iFlash
 
Wenn Menu und Toolbar von mehreren Fenstern benutzt werden, dann muss du ihnen wohl jeweils mitteilen zu welchem Fenster sie gehören, entweder über den Konstruktor oder über eine Methode.
Wenn sie aber nur in MainWindow vorkommen, dann wären sie wohl als innere Klassen besser aufgehoben: innere Klassen haben nämlich Zugriff auf die Variablen der äusseren Klasse.
 
Hast du mit
Code:
extends MeineHauptKlasse
dem Nebenprogramm überhaupt übergeben, wozu es "gehört"?


iflash hat gesagt.:
Bitte Hilfe, denn langsam frage ich mich, ob Java eine gute Wahl für mich ist ...

Ja, ich denke schon. Aber wissen musst du das selber. Meistens musst an schwierige Aufgaben mit viieeel Logik rangehen...
 
iflash hat gesagt.:
Bitte Hilfe, denn langsam frage ich mich, ob Java eine gute Wahl für mich ist ...

iFlash

Objektorientierte Programmierung hat ja nun nicht nur was mit Java zu tun. Selbst wenn du die Sprache wechselst wird dir die ooP überall begebnen. Somit ist Java auch eine gute Wahl...

Tschau
J.

Edit: @ unknown_member: Bitte fang nicht wieder mit deinen sinnfreien Beiträgen an. Die letzte Zeit wars so schön ruhig.
 
Hmm, ich hab ein Interface geschaffen, in dem bestimmte Panels erzeugt werden und ich sie jeder anderen Klasse per implements uebergeben kann, so hat sie Zugriff drauf.

Also im JFrame hab ich z.B. drei JPanles, Panel1 und Panel3 muss auf Panel2 zugreifen, dann erzeuge ich den Panel2 im Interface und implementiere den im JPanel1 und JPanel3.

Ist das ok, oder sollte man es anders machen? (erben will ich ganz sicher nicht vom JFrame, oder ist es besser, als die Interfaces?)
 
Jango hat gesagt.:
Edit: @ unknown_member: Bitte fang nicht wieder mit deinen sinnfreien Beiträgen an. Die letzte Zeit wars so schön ruhig.

Wieso das denn??? Ich dachte, da André keinen Code gepostet hat, könnte mein Post weiterhelfen. Und außerdem lasse ich mir nicht von dir sagen, überhaupt nichts mehr zu posten. Ach, fangen wir damit nicht wieder an. Manchmal nervt's.
 
Zurück zum "eigentlichen" Problem: Wieso schreibst du nicht alles in eine klasse? Es steht dir doch nichts im Wege, oder? Das müsste doch eig auch mit 1 Klasse klappen. Poste am besten mal etwas code.
 
unknown_member hat gesagt.:
Zurück zum "eigentlichen" Problem: Wieso schreibst du nicht alles in eine klasse? Es steht dir doch nichts im Wege, oder? Das müsste doch eig auch mit 1 Klasse klappen. Poste am besten mal etwas code.
jango hat schon recht: wenn du nix anständiges zum problem zu sagen hast, sag doch bitte gar nix, dann verwirren deine beiträge auch niemanden. sowohl dein "tipp" mit extends als auch alles in eine klasse zu schreiben sind schwachsinn :_/
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben