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

Langage Java Discussion :

isoler les données de la partie graphique


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut isoler les données de la partie graphique
    Bonjour,

    J'aimerais connaitre la manière la plus propre et plus efficace d'isoler la partie donnée des données. Auriez-vous un petit tuto? une explication?

    Voici le cas d'utilisation le plus simple :
    - lancer une fenêtre,
    - saisir des données dans la fenêtre,
    - récupérer les données dans le code appelant.

    Merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    Il suffit de mettre en argument de ta classe ou tu gère les données ton interface graphique à savoir donc ta JFrame et tu récupère tout les composants de cette frame par accesseurs.

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut
    imaginons le cas suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    public monInterface extends JFrame {
         private int x = 0;
         private int y = 0;
     
         public monInterface() {....}
     
         ...
         // + evenement fermeture = dispose();
         // + evenements qui garnissent les variables;
         ...
     
         public int getX() {return x;}
         public int getX() {return x;}
    }
     
    // classe qui lance l'interface graphique et qui voudrai récupérer les données
    public class Appelante {
         ...
         public void appel() {
              monInterface frame = new monInterface();
              System.out.println(frame.getX());  
              System.out.println(frame.getY());  
         }
    }
    Cela a pour conséquence de m'afficher 0 et 0, car la fenêtre est un thread a part, comment afficher les valeurs a la fermeture de la fenetre ou apres un certains clique d'un bouton contenu dans cette fenêtre.


    Merci
    [/code]

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Il y a beaucoup de solutions, plus ou moins propres.

    Dans les plus conformes, comme dit par Ynostel, tu peux utiliser un modèle extérieur (voir Pattern MVC pour plus de détails).
    Ça consiste en la création d'une classe gestionnaire de tes données que tu transmets au constructeur de ta vue (la JFrame).
    La vue modifie les données de ta classe via les setters.
    Intérêt : tes données persistent indépendamment de ta vue, tu peux avoir plusieurs vues pour les mêmes données.

    Pour la partie asynchrone, tu peux bloquer l'affichage ou le traitement de tes données avec une boucle while qui attendant que ta fenetre soit refermée (qui dit JFrame fermée ne veut pas dire variable null) mais il va sans dire que c'est pas une solution en soit.
    Le problème c'est que tu va bloquer le thread principal qui attendra que ta fenêtre se ferme pour poursuivre.

    Tu peux aussi utiliser un JDialog dont le but précisément est d'attendre sa fermeture pour pousuivre (pas testé).

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/11/2013, 13h19
  2. [Toutes versions] Lier les données Excel de 2 graphiques
    Par Excellant dans le forum VBA Word
    Réponses: 1
    Dernier message: 27/11/2011, 23h18
  3. REGEX pour isoler les données
    Par Nicopilami dans le forum ASP.NET
    Réponses: 0
    Dernier message: 12/08/2010, 15h02
  4. ETAT: Incohérence entre le Graphique et les données
    Par Alain LF dans le forum Access
    Réponses: 1
    Dernier message: 02/05/2006, 09h49
  5. Isoler les 2 parties d'un Byte
    Par bobby-b dans le forum Langage
    Réponses: 4
    Dernier message: 08/07/2004, 09h46

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