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?
    je sais que je sais rien. :-(

  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?
    je sais que je sais rien. :-(

  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
    je sais que je sais rien. :-(

  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
    je sais que je sais rien. :-(

+ 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