2010-08-05 5 views
2

J'ai un JFrame'A' et je voudrais fournir un très similaire, mais avec des boutons supplémentaires, et des fonctionnalités différentes. Je me demandais si je devais hériter de 'A', puis écraser les méthodes du gestionnaire, et ajouter des composants, ou si une approche différente est recommandée.Devrait-on hériter des JFrames GUI?

Répondre

2

Personnellement, je préférerais hériter JPanels. Je trouve que l'aspect réutilisation penche davantage vers l'utilisation des panneaux d'interface utilisateur et la réutilisation de ceux-ci.

La façon dont je construis mes interfaces utilisateur Swing est d'avoir un JFrame et d'utiliser un panneau composé de panneaux réutilisables s'ils partagent des fonctionnalités communes. Si vous avez un JFrame qui partage une fonctionnalité commune, vous pouvez en créer un avec un CloseHandler donné et un autre code commun, puis faire en sorte que vos autres Jframes héritent de ce CommonFrame.

1

L'héritage est le meilleur moyen ici. Honnêtement, le faire d'une autre manière impliquerait un lot de travail.

2

Préférer la composition à l'héritage dans la plupart des cas. Dans ce cas, cela dépend de la quantité de code dans A. Vous pouvez soit utiliser un modèle de stratégie pour les points de variabilité dans le code, mais dans la plupart des cas, l'héritage sera le moins laid.