Frage von AngehenderITler, 21

JAVA: Integer in einer anderen Klasse verwenden?

Guten Tag,

bin derzeit dabei einen Passwort Generator mit Swing zu schreiben.. habe diesen auch so weit fertig. Nun ist meine Frage.. ich habe 2 Klassen, einmal mit den "Bausteinen" des Frames und einmal eine "Listener" - Klasse. Habe nun in der "Frame" Klasse mit -- String text = password.getText(); -- int counter = text.length(); sozusagen die "Buchstaben" gezählt.. diesen Integer würde ich nun gerne in meiner anderen Klasse verwenden um die Random - Generierten Buchstaben so zu "vervielfachen" wie ich Buchstaben "gezählt" habe.. ist das möglich diesen Integer in einer anderen Klasse zu verwenden?

Sorry, wenn das für manche erfahrerenen Programmierer vllt. eine Dumme Frage ist. Bin aber noch Recht Frisch in diesem Beruf :P

Mit Freundlichen Grüßen und Vielen Dank im vorraus! AngehenderITler

Antwort
von spaghetticode, 19

Also, der übliche MVC-Weg wäre, dass die GUI-Klasse solche Aktionen überhaupt nicht ausführt. Das tut üblicherweise die Controller-Klasse, was in deinem Fall wohl die Listener-Klasse wäre.

Da mir der Aufbau deines Programms nicht so ganz klar ist (und mich Java Swing sowieso verwirrt, grins), würde ich dir raten, den von KnusperPudding vorgeschlagenen Weg zu gehen.

Generell würde ich das aber so machen, dass es eine Controller-Klasse gibt, die ein GUI-Objekt und ggf. ein Datenobjekt als Member hat und die Verwaltung von beidem übernimmt.

Sprich, die Kontrollerklasse holt sich den Text aus dem Widget der GUI und reicht es weiter an das Datenobjekt und umgekehrt.

Antwort
von TUrabbIT, 14

Möglich wären öffentliche get und set Methoden um auf die variable zu zu greifen. Ich blicke bei deiner Beschreibung nicht ganz durch, daher bitte mehr Informationen falls meine Antwort nicht hilfreich ist.

Expertenantwort
von KnusperPudding, Community-Experte für Java, 21

Also da würde ich mal behaupten: Möglich ist das. - Und es gibt sehr viele Möglichkeiten, wie man eine Variable von Klasse A nach Klasse B übermittelt.

Eine Möglichkeit ist es, in der 'Empfänger-Klasse' einen Setter einzubauen, z.b.:

public void setZahl(int zahl);

Sofern dir das noch nicht weiter hilft, kannst du gerne mehr Details zur deinem Problem erläutern.

Keine passende Antwort gefunden?

Fragen Sie die Community