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 :

[débutant] JLabel.getText => passage


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut [débutant] JLabel.getText => passage
    Salut tout le monde,

    j'aimerai savoir si quelqu'un pouvait m'expliquer comment faire pour prendre les valeur de mes JLabel, et les passer à une autre page ?

    merci
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Grosso modo tu crées un bean (une classe contenant des attributs private et des accesseurs sur ce attributs)


    correspondant aux différentes labels dont tu veux retenir la valeur. Dans ta première page tu as un bean du type précité, les accesseurs nécessaires sur ce bean (un getter, un setter).
    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
     
    public class MonBean {
      private int a=0;
     
      //constructeur
      public MonBean(int a) {
         this.a = a;
      }
      //setter
      public void setA(int a) {
          this.a = a;
      }
      //getter
      public int getA() {
        return a;
      }
    }
    A chaque changement sur un JLable il faudra répercuter ce changement dans ton bean au moyen du setter

    Ta deuxième page contiendra elle aussi un bean du même type avec les accesseurs qui vont bien?

    Et pour passer tes informations entre tes deux pages il suffit de jouer sur les accesseurs. Tu peux également passer ton bean en argument de ta deuxième page.

    Mais le plus propre serait d'avoir une classe ne contenant pas d'éléments graphiques ayant pour rôle de faire transiter les informations. Pour celà renseigne toi sur l'architecture MVC qui tu ne pourras éviter si tu fais du swing
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    ha ouai quand meme... je pensai qu'on pouvait faire nettement plus simple pour passer un string a une autre classe non ?

    citation : l'architecture MVC est recommandée pour des " grosses " applications. Effectivement, le temps de travail de conception serait trop important pour une " petite " voire " moyenne " application.
    donc MVC pas pour le moment car mon appli est vraiment petite.
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    DSi c'est sur une seule valeur tu peux toujours faire directement un getter ou un setter dessus.

    genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    public String getValeur() {
     return monLabel.getTExt();
    }
     
    public void setValeur(String valeur) {
      if(autrelabel != null) {
         autreLabel.setText(valeur);
      }
    }
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    non mais en faite récupérer les valeur des JLabel et de les stocker dans une variable c'est bon ya pas de prob ! mais cest ensuite de les reprendre dans une autre page...
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    La méthode que je te donne permet d'accéder au valeurs de ton label depuis une autre page (bien sûr tu as spécifié ton JLabel en tant que private).

    Grosso modo ce que je te décris c'est le mécanismes d'accesseurs qui permet d'accéder et modifier des données depuis un classe extérieure, à toi ensuite de réfléchir un peu pour savoir t'en dépatouiller.

    Et pour ça un controleur est plus qu'utile, même si il ne respecte pas tout à fait l'archi mvc. Grosso modo tu crées un classe non graphique dont tu auras la référence dans tes deux classes graphiques.
    Cette classe non graphique aura pour but de faire transiter l'information entre tes deux classes. Elle aura donc un méthode getValeur qui ira récupérer l'info dans la classe 1. Cette méthode pourra être appelée depuis la classe 2 pour obtenir la valeur de la string que tu cherches à récupérer depuis la classe 1.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    hum ouai je vois... mais cest quand meme un peu flou... y'aurait-il la possibilité de voir un exemple concret ?

    merci
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  8. #8
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Panel1 extends JPanel {
      private JLabel j;
      private MainClass mainClass;
     
      public Panel1 (MainClass mainClass) {
         this.mainClass = mainClass;
         ...
      }
     
      public String getValue() {
         return j.getText();
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Panel2 extends JPanel {
      private JLabel j;
     
     
      public Panel2 (MainClass mainClass) {
         this.mainClass = mainClass;
         j = new JLabel(mainClass.getPanel1Value());
      }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class MainClass {
       private Panel1 panel1;
       private Panel2 panel2;
       public MainClass() {
           panel1 = new Panel1(this);
           panel2 = new Panel2(this);
       }
     
     
       public String getPanel1Value() {
           return panel1.getValue();
       }
    }
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

Discussions similaires

  1. [Débutant]Construction de classe, passage de paramètres
    Par Isildur dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/02/2009, 19h43
  2. Réponses: 4
    Dernier message: 11/05/2006, 11h14
  3. [débutant] [JLabel] Changer la couleur de fond
    Par lejimi dans le forum Composants
    Réponses: 3
    Dernier message: 17/08/2005, 14h20
  4. [Débutant][JLabel] Connaître la taille du texte
    Par Herisson_f dans le forum Composants
    Réponses: 8
    Dernier message: 04/05/2005, 10h53
  5. [Débutant][JLabel] Rafraichir
    Par maxxou dans le forum Composants
    Réponses: 5
    Dernier message: 06/11/2004, 23h48

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