Bonjour,
Tout d'abord je poste ici car je rencontre ce problème lors de la création d'une interface graphique d'un programme java "console", libre aux modérateurs du forum de le déplacer si nécessaire.
Donc voici mon problème :
On m'a posé un exercice en TP d'info dans lequel il fallait créer un système simple de gestion de fiches de lectures, ça consiste simplement en une classe fiche, instanciable qui a pour attributs différentes instances de classes de son package. Seulement, j'ai voulu pousser l'exercice un peu plus loin et créer une interface graphique simple.
Donc J'ai un package A dans lequel sont la classe fiche et les classes nécessaires à son fonctionnement.
J'ai un deuxième package B où sont toutes mes classes d'interfaces graphiques (4 classes héritées de JFrame, une pour afficher la liste des Fiches, une autre pour afficher le contenu de la fiche et les deux restantes pour créer une fiche et lui ajouter des questions).
Et ma classe Main dans le package par défaut.
Mon problème est que je ne vois comment faire pour faire interagir tous ces composants, non pas au niveau des listeners à implémenter qui fonctionnent très bien, mais au niveau de la structure même du programme, je m'explique : j'ai créé un Vector de fiches dans mon main pour stocker les fiches créées (pour l'instant la sauvegarde ne m'intéresse pas). Maintenant quand j'appelle ma fenêtre où s'affiche la liste, dois-je passer ce Vector en paramètre du constructeur ? Puis quand je veux créer une fiche à partir de ma fenêtre de création de fiches comment m'y prendre pour rajouter la nouvelle instance de fiche créée, dans ce Vector ?
Voilà, donc ce n'est pas tant un problème de code mais plus d'organisation de mon application je pense. J'ai regardé du côté des diagrammes dynamiques en UML, des design-patterns en java, sans vraiment savoir ce que je cherchais.
Savez-vous comment s'y prendre pour "construire" une application qui tienne la route ? Est-ce comme ça que l'on doit organiser une application ? Y a-t-il une manière "standard" de faire ?
Merci de m'avoir lu,
Colin.
ps: je vous joins une image des 4 fenêtres ouvertes, si besoin est. De gauche à droite : fenêtre principale (la JList est vide sur la capture), fenêtre pour afficher la fiche, fenêtre pour ajouter une fiche et fenêtre pour ajouter une question.
Partager