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

Java Discussion :

Récupération d'objet d'une class à l'autre


Sujet :

Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Récupération d'objet d'une class à l'autre
    Bonsoir,

    J'ai créé un formulaire avec des JTextField ayant pour propriété editable à false. Puis j'ai créé par code un bouton btnModif. J'ai donc fais le lien avec au listener et j'ai ajouté le bouton à la jframe. Et tout cela est fais dans la class SendMail. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            JButton btnModif = new JButton();
            btnModif.setText("Modifier");
            btnModif.setBounds(420, 380, 100, 20);
            EcouterBntModif ecoutBtnMod = new EcouterBntModif();
            btnModif.addActionListener(ecoutBtnMod);
            this.JFrmCarnet2.add(btnModif);
            btnModif.setVisible(true);
    Donc je crée un nouvel evenement ecoutBtnMod de type EcouterBntModif, voici le code de la class :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            class EcouterBntModif extends SendEmail implements ActionListener{
                    public void actionPerformed(ActionEvent ev){
                             Clavier.aff("Modifier");
                    }     
            }
    Et cela fonctionne, maintenant je souhaiterai modifier la propiété editable de mes JTextField à true. Mais je n'arrive pas à récuperer mes JTextField appart si je les met en public mais j'aime pas lol. Donc y aurai-t-il une autre solution ?

    merci d'avance et bonne nuit :p

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    eh bien, mets tes JTextField en protected ou private et ajoute dans ta classe de composition des méthodes publiques "set" sur les propriétés de tes JTextField que tu veux modifier.

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup, j'y avais pensé ce matin en me levant :p

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Par contre je ne comprend pas : pour tester j'ai voulus modifier l'attribut visible d'une JTextfield mais cela ne fonctionne pas. J'ai pas d'erreur rien, et la JTextField reste comme elle est voici mon code :

    class EcouterBntModif extends SendEmail implements ActionListener{
    public void actionPerformed(ActionEvent ev){
    getJTpseudo().setVisible(false);
    }
    }

    Donc j'arrive bien à récupérer ma jTpseudo grâce à l'accesseur mais cela ne change pas son attribut je ne comprend pas pourquoi ??


    Merci

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Peut-être un simple problème de refresh... Tu as pensé à faire un repaint() du composant après tes modifications?
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Non bon idée mais cela ne fonctionne pas enfin une partis fonctionne, il sait qu'il y a un contenu et j'arrive à l'afficher dans ma console mais pas dans ma JTextField.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class EcouterBntModif extends SendEmail implements ActionListener{
        public void actionPerformed(ActionEvent ev){
            // 1er clique : cela affiche rien
            // 2e clique : cela affiche "coucou"
            Clavier.aff(String.valueOf(getJTpseudo().getText()));       
            getJTpseudo().setText("coucou");
            getJTpseudo().repaint();
            // 1er clique : cela affiche "coucou"               
            // 2e clique : cela affiche "coucou"
            Clavier.aff(String.valueOf(getJTpseudo().getText()));
        }    
    }
    je ne comprend vraiment pas pourquoi, je suis entrain de regarder la documentation du site ( tuto et faq ). Sinon si vous avez une idée je suis preneur.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    Es-tu sûr que ta méthode JTPseudo() te renvoie bien la référence de ton bon JTextField ?

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Oui oui, elle me retourne bien une JTextField :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public JTextField getJTpseudo (){
            return this.jTpseudo;
        }
    je ne comprend vraiment pas pourquoi cela me fais ca ...

Discussions similaires

  1. [Débutant] transfert d'objet d'une class à l'autre
    Par patrickvier dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/10/2012, 23h30
  2. Réponses: 8
    Dernier message: 26/03/2011, 20h40
  3. Binding listView et objet d'une classe dans une autre classe
    Par warmy dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 09/06/2009, 14h26
  4. Réponses: 2
    Dernier message: 01/06/2007, 08h57
  5. Réponses: 2
    Dernier message: 30/12/2006, 13h34

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