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

Composants Java Discussion :

JList avec Checkboxes, problème d'accès à une variable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Par défaut JList avec Checkboxes, problème d'accès à une variable
    bonjour

    j'utilise un composant "personnalisé", une jlist avec des cases à cocher, disponible à cette adresse : http://www.jroller.com/santhosh/date/20050611#jlist_with_checkboxes.

    voici mon code :

    la déclaration, dans la constructeur du jdialog
    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
    final JList list_typexams = new JList();
            final DefaultListModel<String> model_exams = new DefaultListModel<>();
            for (String type : Fenetre_2.Type_examen) {
                model_exams.addElement(Fenetre_2.find_corr_type(type));
            }
     
            list_typexams.setModel(model_exams);
     
            final CheckListManager mng_typexams = new CheckListManager(list_typexams);
            // mise a jour du modele via le checklistmanager
            int index = 0;
            for (String type : Fenetre_2.Type_examen) {
     
                if (Fenetre_2.oracle_typexam.contains(type)) {
                    mng_typexams.getSelectionModel().addSelectionInterval(index, index);
                }
                index++;
            }
     
            scrollPane.setViewportView(list_typexams);
    et son utilisation, plus loin dans le constructeur:
    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
    JButton okButton = new JButton("OK");
                    okButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
     
                            /*
                             * 0.enregistrement
                             */
     
                            // ArrayList qui comprend tous les sites a true
                            Fenetre_2.oracle_site = new ArrayList<>();
                            int index = 0;
                            for (String site : Fenetre_2.Site) {
                                if (mng_sites.getSelectionModel().isSelectedIndex(index))
                                    Fenetre_2.oracle_site.add(site);
                                index++;
                            }
                            // ArrayList qui comprend tous les type d'examens a
                            // true
                            Fenetre_2.oracle_typexam = new ArrayList<>();
                            index = 0;
                            for (String type : Fenetre_2.Type_examen) {
                                if (mng_typexams.getSelectionModel().isSelectedIndex(index))   <------
                                    Fenetre_2.oracle_typexam.add(type);
                                index++;
                            }
    mais en déboguant le programme je me suis rendu compte que la condition où se trouve la flèche pose un problème : le débogueur d'eclipse me dit que la variable mng_typexams est inaccessible, ne correspond à aucune variable.

    pourquoi ne puis-je pas y accéder?

    olivier

    ps : le compilateur ne dit rien, et le débogueur non plus (mis à part que la variable n'est pas accessible)

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    Quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    okButton.addActionListener(new ActionListener() {
    (et dans un cas plus général, lorsque tu cherches à instancier une classe abstraite/interface) tu entres dans un bloc qui n'appartient pas à ta classe mais à la classe abstraite/interface que tu spécifies. Dans ce cas, toutes les méthodes et variable private sont cachées et donc innacessibles.
    Si tu veux résoudre ce problème, je te conseille de faire en sorte que ta classe implémente ActionListener et de redéfinir actionPerformed directement dans la classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class MaClasse () implements ActionListener{
    ...
       public void methode() {
          JButton okButton = new JButton("ok");
          okButton.addActionListener(this);
       }
     
       public void actionPerformed(ActionEvent e) {
       }
    }

Discussions similaires

  1. Problème d'accès à une variable partagée
    Par sebac dans le forum Général Java
    Réponses: 1
    Dernier message: 04/09/2009, 12h11
  2. Problème d'accés à une variable
    Par debo41 dans le forum Flex
    Réponses: 15
    Dernier message: 21/08/2008, 11h36
  3. [C#] Problème d'accès à une variable depuis une popup
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/01/2007, 15h30
  4. [POO] Problème d'accès à une variable privée
    Par Nadd dans le forum Langage
    Réponses: 8
    Dernier message: 17/09/2006, 21h43
  5. Problème d'accès à une variable
    Par khaled.mtibaa dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 11h39

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