Pattern MVC - CommentCaMarche ? [Débutant]
Résolu
Jahgan974
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
Jahgan974 Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Jahgan974 Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Pattern MVC - CommentCaMarche ? [Débutant]
- Commentcamarche - Télécharger - Messagerie
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Commentcamarche telecharger - Télécharger - Émulation & Virtualisation
- Commun file upload pattern ✓ - Forum Réseaux sociaux
2 réponses
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(); } }
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.