Java Button in andere klasse übergeben?

2 Antworten

Wenn du zwei Klassen hast, wovon eine etwas der anderen nutzen möchte,  wäre es eine Möglichkeit eine Referenz zu übermitteln. Eigenschaften einer Klasse sollte man jedoch als Getter bereitstellen.

Wie bekomme ich es hin, das ich den Button von Klasse Gui In klasse Draw verwenden kann?

Gehen wir mal davon aus, dass die Klasse: Draw eine Eigenschaft der Klasse GUI ist. 

class GUI {

 private Draw draw;

}

Dann könnte man der Klasse Draw über einen Parameter im Konstruktor die Referenz der GUI Klasse mitgeben:

draw = new Draw(this);

In der Klasse Draw müsste natürlich entsprechend ein Konstruktor existieren, der die GUI entgegen nimmt:

class Draw {

 Draw(GUI gui) {...}

}

Über einen getter für deinen Button kannst du dann in der Draw-Klasse auf den Button zugreifen:

gui.getButton();

 bedanke mich am gesamten Gutefrage.net Team für die inkompetenz und unnötigkeit.

Diese Bemerkung kann durchaus dazu führen, dass diese Frage wieder beanstandet und gelöscht wird. Ab und zu kommt es vor, dass eine Frage gelöscht wird. Ob berechtigt oder nicht, wage ich nicht zu Urteilen, aber dann würde ich mich mit dieser Beschwerde direkt per E-Mail an GuteFrage wenden. - So ein öffentliches Niedermachen kommt nicht gut an.

Eismensch  06.12.2016, 16:20

Schöne Antwort, kann das nur so Unterschreiben.

 bedanke mich am gesamten Gutefrage.net Team für die inkompetenz und unnötigkeit.

Das Team kann hier nichts dafür. Du stellst Fragen. Nutzer melden schlechte Fragen. Schlechte Fragen werden gelöscht. Ganz einfach. Wenn also deine Frage gelöscht wurde, so liegt das daran, dass du in deiner Frage wohl irgendetwas Falsch gemacht hast.

2
GitUke  06.12.2016, 22:32

Deiner Antwort ist nichts mehr hinzuzufügen, schön erklärt :) 

0

Die Frage nach der Sichtbarkeit von Objekten anderer Klassen ist eine der am häufigsten gestellten Fragen bei Anfängern mit der objekorientierten Programmierung; insbesondere bei GUI: Grapical User Interfaces.

Die Antwort von KnusperPudding ist eine sehr schöne Möglichkeit und hat einen Daumen hoch von mir erhalten. Dennoch möchte ich andere Möglichkeiten noch erwähnen, wenn zwei Klassen ein Objekt einer dritten Klasse oder wenn zwei Klassen sich gegenseitig kennen sollten.

Im Java-Buch: "Objekte und Klassen" (Link unten) auf Seite 69 sind vier Varianten dazu beschrieben. Die von KnusperPudding erwähnte Methode entspricht wohl am ehesten der Methode B): Konstruktor.

Hier ein Link auf das erwähnte Buch:

https://programmieraufgaben.ch/uploads/oo.pdf

Leider gibt es hier nicht "die eine Vorgehensweise". Andererseits sind die Programmierer so frei, welche Art des Registrierens von Delegationsattributen sie selbst verwenden möchten.

KnusperPudding  07.12.2016, 08:37

 Dennoch möchte ich andere Möglichkeiten noch erwähnen

Und das ist auch richtig so. - Viele Wege führen nach Rom. - Der eine fährt lieber über die Autobahn, der andere nutzt lieber die Landstraße. 

0