JButton erweitern

michael94

Mitglied
hi leute,
vielleicht für die meisten ne recht simple frage(ich programmier nicht sehr viel):
ich mach grad ein kleines spiel, bei dem die attacken(eigene Klassen) der kämpfer durch JButtons gewählt werden. ich benutze model-view-controller.
der controller muss jetzt natürlich erkennen, welcher spezieller button gedrückt wurde und ich würde dazu gerne gleich die attacken in den buttons speichern, aber ich weiß nicht, wie ich die JButtons erweitern kann.
hab bisher ne klasse "Button extends JButton" gemacht und jede Methode und Konstruktor mit
"super....();" überschrieben und dann noch "private Attacke a;", "void setzeAttacke(Attacke a)" und "Attacke gibAttacke()" eingeführt. funktioniert aber leider nicht.
danke im voraus
grüße
 
die Methoden musst du nicht überschreiben wenn du keinen Grund dazu hast,
bei Konstruktoren reichen die, die du auch selber verwenden musst, meist nur einer

was ansonsten nicht funktioniert kann niemand ahnen, da musst du schon Code posten
und Fehler mit Worten beschreiben, so dass andere dann auch über dieses Wissen verfügen

-----

eine Alternative ist, das Button-Objekt nur als Key in einer Map oder zur Suche in einer Liste für einen Index zu verwenden,
String actionCommand oder eigener Listener gibts auch noch,
und von dort irgendwo auf andere Datenstrukturen zu wechseln, Button-unabhängig weiterzumachen
 
also ganz allgemein, auch, wenn ich wirklich nichts mach außer konstruktor mit super zu über schreiben, werden die buttons am ende so kleine "knöpfchen" ohne aufschrift
 
vielleicht gibt es jemanden, der dir darauf direkt erfolgreich antworden kann,
für mich gilt als Info weiterhin:
je weniger du machst, desto eher kannst du auch ein vollständiges Testprogramm posten
und unnötiges Rätseln beenden,

aus dem Kopf erscheint mir das alles bisher ohne Problemanzeichen, zum Beweis müsste ich aber selber so ein Programm zusammenstellen..
 
habs jetzt:
ich musste - keine Ahnung wieso - den Button-Text außerhalb des Konstruktors mit setText(String s)
setzen.
tschuldigung dass ich mich n bisschen umständlich ausgedrückt hab🙂
danke trotzdem
 

Zurück
Oben