eplanet
Messages postés112Date d'inscriptiondimanche 6 juin 2004StatutMembreDernière intervention19 septembre 2007
-
22 juin 2007 à 12:13
eplanet
Messages postés112Date d'inscriptiondimanche 6 juin 2004StatutMembreDernière intervention19 septembre 2007
-
25 juin 2007 à 09:27
Bonjour à tous, je n'ai pas beaucoup d'expérience dans les interfaces graphiques java, c'est pourquoi j'aurai besoin de quelques conseils. Il s'agit surtout de problèmes concernant l'architecture de mon application (que j'ai ici simplifiée) :
J'ai une classe singleton Ville, une classe Batiment, et une classe Personne. Mon objet de type Ville contient une liste de batiments, et chaque batiment contient une liste de personnes.
J'ai besoin d'afficher la représentation de ce système. Les personnes sont représentées par des composants contenue dans un composant représentant leur batiments, lui-même contenu dans un composant représentant la ville. Je dois séparer l'interface graphique de la représentation logique de mon système, c'est pourquoi j'ai créé les classes VilleI, BatimentI et PersonneI chargées de représenter une ville, un batiment et une personne.
Je me demande comment relier ces classes avec les classes du modèle. Est-ce que chaque batiment doit avoir une instance de BatimentI dans ses attributs ? Comment faire pour que les personnes s'affichent dans les batiments ?
cs_shown
Messages postés40Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention24 décembre 2007 23 juin 2007 à 00:42
Je ne vois pas trop le rapport avec ton interface graphique..
Il faudrait que tu fasses le modèle UML de ton application, ce serait plus simple pour comprendre.
Sinon d'après ce que je comprends, Ville est singleton, donc ton interface communiquera avec cette classe.
Par contre pour les classes VilleI, BatimentI et personneI je ne comprends pas le but.
Tu ne peux pas simplement faire des agrégations entre tes 3 classes ?
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 23 juin 2007 à 17:28
si j ai bien compris ! ;o) tu as 3 classes de donnée ville, batiment et personne et tu doit en faire une representation graphique
fait le point sur les element graphique que tu as (probablemnt 3 aussi) ;o)
ensuite si tu veux utiliser les interfaces tu fais le point aussi sur les methodes d acces au donné qui te seront nécéssaire pour en faire une ou plusieurs interface que tu pourras implementer directement à tes classes de base Batiment,....
et utilliser dans tes class graphique
Exemple ébauché ;o) :
class Ville implements IVille
{
Vector getBats() {} // provenant de l interface IBat
}
class VilleGraph implement Graphable // ;o) interface pour le fun
{
IVille ville = null;
public BatGraph( IVille ville ){ this.ville = ville;}
public draw()
{
for( IBat bat:ville.getBats() )
{ new BatGraph( bat ).draw() //ex de trt sur le bat } //pas forcement itératif }
}
exemple de ce que pourrai etre en gros le squellette d une class graph mais biensur plusieurs soluce sont possible comme de preparer les données ds le constructeur ou de passer tout en param dans draw...
désoler pour la presentation du code mais c est fait à l arrache ;o) sans EDI
eplanet
Messages postés112Date d'inscriptiondimanche 6 juin 2004StatutMembreDernière intervention19 septembre 2007 25 juin 2007 à 09:27
Merci pour vos réponse. Si j'ai bien compris, il faut que je crée des interface (au sens de java) pour faire l'interface graphique. Comme une interface ne peut pas implémenter de méthode, je dois donc implémenter ces méthodes graphiques dans les classes Ville, Batiment et Personne. Or, je ne veux pas mélanger la partie graphique er la partie logique...
Je pourrais donc faire un héritage entre classes plutôt mais au niveau sémantique, je ne trouve pas ça très top...