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 :

effectuer des operations sur les composants graphiques


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Points : 65
    Points
    65
    Par défaut effectuer des operations sur les composants graphiques
    Bonjour,
    dans mon application java, j'ai une GUI, je veux a la creation d'un composant graphique (par exemple, JButton, JTextField...) faire appel a une methodes que je vais cree, en passant a cette methode l'indentificateur du composant et la representation String de son identificateur.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ...
    JButton okButton = new JButton("Ok");
    ...
     
    public void maMethode(okButton, "okButton")
    {
        ...
    }
    ....
    Alors compte tenu que j'ai pas une seule classe dans toute mon appli, j'ai pas envie de creer le methode "maMethode(...)" dans chaque classe afin de l'appliquer a chaque composant que dessine cette classe.
    Il y a t-il un moyen de resoudre cet probleme?

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    comme ça : ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void maMethode(Component comp, String nom){
        ...
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    eeuuh oui...j'ai fais une erreur.

    ca c'est la definition de la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void maMethode(Component comp, String nom)
    {
        ...
    }
    et la je l'appellerai comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maMethode(okButton, "okButton");
    alors...je veut qu'il n'y ai qu'une seule methode, je veut pas la definir dans chaque class qui dessine des composants...comment faire? ou bien est ce meme possible de faire cela?

  4. #4
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Peux-tu expliquer exactement ce que tu veux avec cette méthode parce que je pense pas que cela soit possible ( légalement ).
    Ne serait-ce pas pour éviter de l'appeler autant de fois qu'il y a de composants graphiques ?

  5. #5
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Je rectifie par rapport à ce que je viens de comprendre ( il me semble ).
    Si c'est pour éviter de redéfinir cette méthode dans toutes tes classes héritant de JFrame par exemple, tu peux utiliser l'héritage
    JFrame --> abstract classe contenant ta méthode --> tes autres classes :
    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
     
    abstract class AbstractMethode extends JFrame implements [...] {
       [...]
       public maMethode(Component c,String txt){
          [...]
       }
    }
    // ET L'UTILISATION :
    public class MaJFrame extends AbtractMethode{
        public MaJFrame(){
           [...]
           monJButton=new JButton("OK");
           this.maMethode(monJutton,"okbouton");
           [...]
        }
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    c'est exactement ce que je veux iohack...c'est pour éviter de l'appeler autant de fois qu'il y a de composants graphiques. Et ce que tu viens de proposer est une bonne idee a mon avis.
    Alors maintenant, ne serai t-il pas possible d'ameliorer ton code, pour que la methode s'appelle automatiquement? par exemple soit a l'ajout du composant dans le container ou juste a sa creation?

    Mais deja ce que tu viens de me balancer comme idee est bien et je m'y met au boulot

  7. #7
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Pour ce qui est de l'appel automatique, je doute que cela soit faisable. Cela reviendrait à modifier le comportement de Swing. Enfin il y a peut-être une astuce.
    En prenant le code source des composants swing, et en faisant quelques modif, on doit pouvoir y parvenir. Mais il me semble que ce n'est ni toléré ni légal.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    ah oui je vois...d'accord donc je m'arrete a la premiere solution, merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2013, 11h53
  2. [TPW] Calculatrice effectuant des opérations sur les entiers longs
    Par forum dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 04/12/2011, 11h36
  3. de l'usage des RTTI sur les composants a structure complexe
    Par SergioMaster dans le forum Langage
    Réponses: 6
    Dernier message: 11/08/2011, 09h56
  4. Réponses: 0
    Dernier message: 11/12/2010, 12h52
  5. Mettre des options sur les composants
    Par Djelangelo dans le forum Langage
    Réponses: 1
    Dernier message: 02/12/2010, 16h39

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