Ok e quindi come potrei risolvere il problema?Originariamente inviato da andbin
Lo ripeto ... vorrei essere molto chiaro: GraphicElement non può "essere" un JButton!! Non lo può essere né a livello di ereditarietà (IS-A) perché GraphicElement deriva (indirettamente) da JComponent e né può esserlo "simulato" come pensavi tu, perché andresti incontro a grattacapi non indifferenti ... oltre a fare (ammesso sia tecnicamente fattibile) qualcosa di molto fumoso e poco "standard".
GraphicElement può invece contenere in termini di relazione contenitore-componente un JButton.
Dici che posso fare TopElement come interfaccia e GraphicElement che estende direttamente il JButton e implementa TopElement.
Solo che poi ogni volta che uso un TopElement devo verificare che sia un JComponent e fare il cast per poterlo disegnare e però sarebbe peggio perchè in caso di errore si avrebbe a runtime.
codice:interface TopElement { public void elementMethod(); } class GraphicElement extends JButton implements TopElement { @Override public void elementMethod() { //Some action } }

Rispondi quotando