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

Langage Java Discussion :

Une méthode inaccessible


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Une méthode inaccessible
    Bonjour à tous !

    Je développe une SingleFrameApplication avec Netbeans.
    A tout moment l'utilisateur peut faire apparaitre une boîte de dialogue dans laquelle il entre un chaîne de caractères. Il valide ensuite son entrée ce qui a pour effet de masquer la boîte de dialogue.
    Une méthode appelée getChaine() est présente dans la classe Box (représentant la boîte de dialogue) afin de récupérer la chaîne entrée par l'utilisateur depuis la méthode de la classe principale qui affiche la boîte de dialogue.

    Voici la méthode appelée pour afficher le JDialog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Action
    public void showBox() {
        if (box == null) {
            JFrame mainFrame = App.getApplication().getMainFrame();
            boite = new Box(mainFrame);
            boite.setLocationRelativeTo(mainFrame);
        }
        App.getApplication().show(boite);
        boite.getChaine();
    }
    Et voici un résumé de la classe Box :
    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
    public class Box extends JDialog {
     
        public Box(Frame parent) {
            super(parent);
            initComponents();
        }
     
        public String getChaine() {
            return chaine;
        }
     
        @Action
        public void valider() {
            setVisible(false);
        }
    }
    La méthode valider de la classe Box permet de masquer la boîte de dialogue (modale) ce qui a pour effet la poursuite de l'exécution du programme au sein de la méthode appelante (showBox()) et donc de l'exécution de la ligne boite.getChaine();.

    Malheureusement, le code ainsi écrit n'est pas compilable, car la ligne boite.getChaine(); renvoit une erreur :
    cannot find symbol
    symbol: method getChaine()
    location: class javax.swing.JDialog


    Si j'interprète bien cette erreur, boite est considéré comme une instance de la classe JDialog mais pas de la classe Box, alors que j'ai pourtant bien écrit public Box extends JDialog...

    Je ne vois vraiment pas d'où vient le problème ! Le seul moyen que j'ai trouvé pour le contourner est de rendre public et static la variable chaine, mais je doute que ce soit une bonne solution dans mon cas...

    A l'aide !

    Merci d'avance !

    Axel

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par axel41 Voir le message
    Le seul moyen que j'ai trouvé pour le contourner est de rendre public et static la variable chaine, mais je doute que ce soit une bonne solution dans mon cas...
    C'est totalement crade


    Ton problème vient surement du type utilisé lors de la déclaration de ton attribut boite...

    a++

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ah forcément ! Qu'est-ce qu'on peut se prendre la tête sur des trucs bêtes quand même...
    Faut dire que la déclaration elle était tout en bas du programme... (je sais, je sais, j'ai pas d'excuses )

    En tout cas merci beaucoup ! J'étais à 2 doigts de péter un plomb !

    ++
    Axel

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 06/06/2009, 21h42
  2. Comment connaitre l'appelant d'une méthode
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/07/2004, 14h51
  3. [Reflection] Exécuter une méthode donnée d'une classe
    Par schousso dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/06/2004, 10h35
  4. Réponses: 3
    Dernier message: 16/04/2004, 16h51
  5. une méthode qui écrit dans la sortie html ?
    Par iubito dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/12/2003, 15h34

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