Pattern MVC - CommentCaMarche ? [Débutant]
Résolu/Fermé
Jahgan974
Messages postés
17
Date d'inscription
mardi 20 novembre 2012
Statut
Membre
Dernière intervention
19 février 2014
-
16 déc. 2012 à 14:33
Jahgan974 Messages postés 17 Date d'inscription mardi 20 novembre 2012 Statut Membre Dernière intervention 19 février 2014 - 16 déc. 2012 à 15:15
Jahgan974 Messages postés 17 Date d'inscription mardi 20 novembre 2012 Statut Membre Dernière intervention 19 février 2014 - 16 déc. 2012 à 15:15
A voir également:
- Pattern MVC - CommentCaMarche ? [Débutant]
- Commentcamarche - Télécharger - Messagerie
- Commentcamarche telecharger - Télécharger - Navigateurs
- Logiciel de programmation pour débutant - Guide
- Application as Service - Télécharger - Émulation & Virtualisation
- ΜTorrent : l'outil classique pour télécharger des torrents - Télécharger - Téléchargement & Transfert
2 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
16 déc. 2012 à 15:00
16 déc. 2012 à 15:00
1) Erreur à la compilation sur afficheur.setText(m.affiche()); en effet affiche() renvoie un int, quand setText attend un String :
3) De plus, il te manque à ce niveau là un appel de mise à jour de l'affichage :
Personnellement je ne connais pas le pattern MVC, mais je trouve cela bien compliqué pour si peu de choses à faire...
afficheur.setText(String.valueOf(m.affiche()));2) Dans actionPerformed, grosse erreur sur e.getActionCommand().toString()=="+", il ne faut jamais comparer deux String avec == qui compare les références des objets mais pas leurs valeurs.
3) De plus, il te manque à ce niveau là un appel de mise à jour de l'affichage :
public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("+")) m.plus(); else m.moins(); vue.affichage(); }
Personnellement je ne connais pas le pattern MVC, mais je trouve cela bien compliqué pour si peu de choses à faire...
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class Vue extends JFrame { private static final long serialVersionUID = 1; public Vue() { final JButton plus = new JButton("+"); add(plus, BorderLayout.WEST); final JLabel afficheur = new JLabel("0",JLabel.CENTER); add(afficheur, BorderLayout.CENTER); final JButton moins = new JButton("-"); add(moins, BorderLayout.EAST); plus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int n = Integer.parseInt(afficheur.getText()); afficheur.setText(String.valueOf(n+1)); } }); moins.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int n = Integer.parseInt(afficheur.getText()); afficheur.setText(String.valueOf(n-1)); } }); setTitle("Compteur"); pack(); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new Vue(); } }
Jahgan974
Messages postés
17
Date d'inscription
mardi 20 novembre 2012
Statut
Membre
Dernière intervention
19 février 2014
16 déc. 2012 à 15:15
16 déc. 2012 à 15:15
Merci beaucoup KX ! Pour ton efficacité et ta spontanéité !
Effectivement pour cet exemple le model MVC n'est pas forcément le plus efficace.
Mais pour les gros projets il serait peut être intéressant de pouvoir séparer les différents éléments tels que l'interface graphique, les données et leur gestions etc...
Enfin en tout cas je te remercie une fois de plus et je retourne à mon apprentissage.
Sujet Résolu.
Effectivement pour cet exemple le model MVC n'est pas forcément le plus efficace.
Mais pour les gros projets il serait peut être intéressant de pouvoir séparer les différents éléments tels que l'interface graphique, les données et leur gestions etc...
Enfin en tout cas je te remercie une fois de plus et je retourne à mon apprentissage.
Sujet Résolu.