IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Application Swing - MVC - CardLayout


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Par défaut Application Swing - MVC - CardLayout
    Bonjour à tous,

    Je viens vous voir car j'ai une question par rapport à la conception d'un programme que je fais actuellement. En fait, j'ai une application qui doit afficher dans un même Jpanel plusieurs autres Jpanel selon l'appuie sur des boutons. Pour cela j'utilise un cardlayout pour le JPanel permettant l'affichage des autres jpanel et le design pattern MVC. Le Jpanel affichant les autres Jpanel se nomme mainJpanelView qui selon le MVC doit avoir un mainJpanelController et un mainJPanelModel. Après réflexion et discussions avec d'autres programmeurs, l'idée est venue que le mainJpanelModel doit inclure les JPanel A, Jpanel B etc.. comme donnée. Ma question est: est-ce normale d'avoir dans un modèle des éléments graphiques tels que des JPanel.
    En gros, est cohérent face au MVC d'inclure des vues (JPanel) comme éléments d'un modèle. Est-ce que j'ai été clair?

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Par défaut
    Je vais préciser ma question.
    Est-il concevable dans une application utilisant le patron de conception MVC ( Modèle Vue Controleur) d'inclure une élément graphique de type JPanel dans un modèle? En ce sens où ce modèle pourra être observé par une vue et contrôler par un controleur.

  3. #3
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonsoir,

    Si tu veux absolument garder le modèle MVC je ne pense pas que ce soit possible, tout ce que l'utilisateur peut voir doit être dans la vue, le modèle c'est la gestion des traitements ou des données.

    Quelle est l'objectif exact de tes ajouts? tes boutons font apparaître des panels options ou ils sont rajoutés à l’infini?
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Par défaut
    En fait, mes boutons font apparaitre des panels différents selon le bouton appuyé. Donc j'ai un cardlayout qui me permet de changer entre les panels. Le problème est que mon application est faite avec du MVC. Par conséquent mon panel principal ( celui qui me sert pour afficher les autre panels) doit avoir son modèle qu'il observe et affiche les données envoyées par celui ci donc les vues.Penses tu que mon approche n'est pas la bonne. Je ne suis pas alaise avec cette façon de faire mes j'ai du mal à concevoir que l'ensemble de mes vues ont un modèle et un controleur et pas mon panel principal. Je suis coincé.

  5. #5
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Si tes boutons activent 1 panel ce que tu peux faire c'est les rendre disable ou setvisible(false), ainsi quand tu cliques sur ton bouton le contrôleur va appeler la méthode du modèle rendre visible. Ainsi tes panels restent dans la vue et tu joues sur la possibilité de jouer avec ou non.

    PS : Dans ma vision du MVC il est tout à fait envisageable d'avoir un modèle pour plusieurs vue et une vue regroupant plusieurs composant.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Par défaut
    Je suis d'accord avec ta solution mais ce qui me gêne dans l'histoire c'est de mettre ce genre d'instruction.

    public MainPanelModel{

    private BillPanelView bpv;
    private TitiPanelView titiv;

    public MainPanelModel(){

    this.bpv = new BillPanelView();
    this.titiv = new TitiPanelView();
    }

    }

    Dans le MainPanelView tu as l'instruction MainPanelModel.addObservers(this);

    Dons en gros, tu as des vues dans ton modèle. D'après la définition du MVC ce n'est pas sensé se faire non?

Discussions similaires

  1. Framework MVC pour application swing
    Par Mister Nono dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 27/10/2009, 00h06
  2. Réponses: 10
    Dernier message: 16/03/2006, 11h31
  3. [Stratégie] Mise à jour application SWING
    Par chr_one dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/08/2005, 15h31
  4. [Info][Ecran Tactile]Application Swing
    Par Rampa dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/07/2005, 10h09
  5. [JDBC][ARCHITECTURE] application swing
    Par benssj5 dans le forum JDBC
    Réponses: 6
    Dernier message: 31/08/2004, 19h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo