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

NetBeans Java Discussion :

Ajouter une ActionPerformed à un bean de ma palette


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut Ajouter une ActionPerformed à un bean de ma palette
    Bonjour,
    J'ai créé un petit élément que j'ai rajouté à ma Palette. Il s'agit d'un Panel avec une liste de ItemButton. Chaque ItemButton est un JButton relié à un object (item).

    J'aimerais pouvoir "fire" un event quand l'utilisateur clique sur un Bouton, afin de récupérer l'item inclus dans le ItemButton.



    Dans mon code, j'ai :

    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
    26
    27
     
     public void setItemClicked(T itemClicked) {
            this.itemClicked = itemClicked;
        }
     
     
    protected void organizeLayout() {
     
            this.panel.removeAll();
     
            for (int i = 0; i < this.model.size(); i++) {
     
                T elt =  this.model.get(i);
                ItemButton<T> bouton = new ItemButton(elt);
                panel.add(bouton);
                /** click on the button */
                bouton.addActionListener(new java.awt.event.ActionListener() {
     
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
     
                       /* Ici je peux assez de choses pour faire tourner l'appli */
                       setItemClicked( ((ItemButton<T>)evt.getSource()).getItem() );
     
                    }
                });
            }//end for
    }
    Je peux evidemment faire tourner ce que je veux par exemple en créant une fonction doTheAction() vide, et mes futurs composants n'auront plus qu'à implémenter cette fonction.

    Mais c'est pas très sexy. J'ai réussi à intégrer mon objet dans la Palette. Quand, dans Matisse, je change la property Title, ca fonctionne nickel. Et maintenant j'aimerais pouvoir ajouter les événements qui me plaise. Malheureusement, je suis un peu une quille dnas la gestion des Events Help please

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    J'ai testé avec :
    public class ButtonList<T> extends AbstractCheckList<T> implements ActionListener{}

    Mais je comprend pas trop dans quel sens il faut mettre tout ca. J'ai just un stack Overflow en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     bouton.addActionListener(new java.awt.event.ActionListener() {
     
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                      setItemClicked( ((ItemButton<T>)evt.getSource()).getItem() );
                      actionPerformed(evt);
     
                    }
                });
     
    public void actionPerformed(ActionEvent e) {
            System.out.println("Action performed for :"+getItemClicked());
        }

  3. #3
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Typiquement, je pense qu'il faudrait être en mesure de rajouter une action ici :


  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Bon, j'ai regardé à partir du code source de JButton et AbstractButton. Il doit y avoir une méthode pour ajouter un onglets d'actions à partir de conventions en mixant convenablement :

    • protected ActionListener actionListener = null;
    • private Action action;
    • private PropertyChangeListener actionPropertyChangeListener;
    • public void setAction(Action a) {...}
    • public Action getAction() {...}
    • protected void actionPropertyChanged(Action action, String propertyName) {...}
    • public void addActionListener(ActionListener l){...}
    • public void removeActionListener(ActionListener l)
    • public ActionListener[] getActionListeners() {}
    • protected void fireActionPerformed(ActionEvent event) {}

    Tout ca, c'est un peu compliqué Si quelqu'un ki-sy-connait peut faire le tri et donner une méthode générale. Je veux bien faire un tutoriel vidéo une fois que j'ai compris.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2013, 11h06
  2. Comment ajouter une valeur int constante à un bean write ?
    Par Battosaiii dans le forum Struts 1
    Réponses: 3
    Dernier message: 06/12/2011, 15h52
  3. [C#] ajouter une image dynamiquement
    Par h_imane dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h27
  4. [Plugin] Ajouter une option au menu contextuel ?
    Par relivio dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 22/03/2004, 16h18
  5. Ajouter une aide
    Par Mailgifson dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/06/2002, 13h32

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