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

AWT/Swing Java Discussion :

[MVC] Sur quels events notifier le controleur ?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut [MVC] Sur quels events notifier le controleur ?
    Bonjour,

    Je me demande sur quels événements vous notifiez le contrôleur d un changement dans la vue, notamment pour les JTextField & cie.

    Je voulait utiliser les événements de focus, perte de focus => modification utilisateur finie => notification au contrôleur etc ...

    Mais j utilise le JIDEButton qui ne supporte pas la gestion du focus (http://java.net/jira/browse/JIDE_OSS-6 - bug connu depuis 2008 ...), je perds donc la dernière modification utilisateur.

    Quels sont vos conseils pour notifier le contrôleur ?

    Joyeuse fêtes de fin d année.
    Y

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    Bonjour,
    Je te proposer que ton controlleur implément FocusListener et ajouter un focusListener en passant le controleur en param. La gestion de la perte de focus se fait dans le contrôleur

  3. #3
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut
    Cette méthode ne fonctionnera pas, car le click sur le JIDE Button ne crée pas de prise de focus (et donc pas de perte) ; sinon ta proposition était bien.

    Comme la zone critique se limite a un seul bouton, ma solution est de récupérer le composant qui possède le focus au moment du click et de le forcer a envoyer ces informations au contrôleur.

    Mais pour répondre a ma question, le tutoral sur le site d Oracle (sick je voulais dire Sun ) propose une liste d event par type de composants (Table1)

    http://www.oracle.com/technetwork/ar...vc-136693.html

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    Désolé, mais je ne saisis pas trop ce que tu cherches à faire. Au moment du clic que doit-il se passer ? Effectivement si tu n'as pas JTextField qui a le focus, c'est normal qu'il ne le perd pas.
    Que fais-tu concrètement et quel résultat attends-tu ? Est-ce récupérer au moment du clic sur je bouton récupérer le composant qui perd le focus ?

  5. #5
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut
    Je veux a chaque fois qu'un élément graphique perde le focus, ce dernier notifie le contrôleur, qui modifie le modèle qui notifie les vues.

    Dans le monde AWT / Swing normal, tout se passe pour le mieux car un click sur un JButton produit dans l ordre :
    1 - Focus lost sur le précédent élément
    2 - Focus gained sur le bouton
    3 - ActionPerformed sur le bouton

    Les donnes sont récupérées sont envoyer au contrôleur a l event 1.

    Mon problème est le JideButton qui ne produit que l event 3 et non les events 1 et 2. Mais sur la vingtaine de boutons, seul un est critique, j ai contourner le problème, par récupérer le composant qui possède le focus et je le force a envoyer ces données au contrôleur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtrer un DataGridView, sur quel Event ?
    Par dsolheid dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/01/2008, 15h04
  2. Sur quel evenement mettre Dmax?
    Par kabikou dans le forum Access
    Réponses: 18
    Dernier message: 15/09/2005, 00h00
  3. [débat] Reflexion sur « quel langage ?»
    Par jack69 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 23/05/2005, 08h30
  4. [BATCH-DOS] Sur quel forum poster ?
    Par Beaunico dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 17/09/2004, 18h30
  5. Savoir sur quel boutton on a cliqué ...
    Par Fofone dans le forum Composants VCL
    Réponses: 8
    Dernier message: 10/03/2003, 16h12

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