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 :

(méga débutant) action impossible à cause d'un "private accès"


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut (méga débutant) action impossible à cause d'un "private accès"
    B'jour!

    Bon, je vous explique, je suis méga débutant en java. J'ai quelques bases théoriques, mais au niveau pratique de sèche.

    Faits établis (et inchangeables :p ):
    _ Je vais un petit logiciel de gestion d'une vidéothèque tout bidon
    _ Je le fait sous NetBeans 5.0 et utilise son interface pour créer ma propre interface graphique
    _ Ma base de donnée est gérée sous Oracle XE
    _ Je vais mon accès à la BDD via JDBC


    Ce que je compte faire:
    _J'ai besoin de récupérer une valeur dans ma base de donnée et l'afficher dans une textbox.
    _Ma requete permettant d'aller chercher les infos dans la BDD ne semble pas poser de problemes. Les résultats de ma requete sont recueillis dans le ResultSet nommé rsAdherent.
    _Comme précisé au dessus, je veux afficher UNE valeur pour le moment (j'afficherai les autres quand celle ci sera affichée), c'est pour cela que j'utilise un resultset.
    _Je veux afficher cette valeur dans une textbox notée textboxNom qui elle, est dans la classe GestionAdherents.java.

    Ce qu'il faut savoir aussi:
    _C'est que dans le code correspondant au bouton qui va lancer ma recherche (et donc dans Gestionadherents.java, j'ai cette ligne de code là: String nom = textboxNom.getText();

    Et mon problème est:

    _ Dans Controleur.java, quand j'essaye d'écrire la valeur dans la textbox, ma ligne correspondante est la suivante et est soulignée en rouge. Ma ligne est celle là: GestionAdherents.textboxNom.setText(monAdherent.getNom());
    et mon erreur est la suivante: textboxNom has private access in VideoClub.GestionAdherents.


    Voilà, j'ai essayé d'être assez précis. Vous aurez sans doute besoin de plus d'informations. Je vous laisse me dire lesquelles car je ne vois pas...

    Ha ben si, voilà la méthode que j'ai tenté mais qui contient cette erreur:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       public void getChargerModifs (String numadh){
     
           Mapping.importerDonneesAdherent(numadh); //Ca, ça va aller executer la requete et mettre les résultats dans le resultset rsAdherent.
     
    // Cette ligne, il se peut qu'elle aie des problèmes, "nom" "prenom" et tout ça ce sont les noms de mes colonnes dans ma BDD
             Adherent monAdherent = new Adherent(rsAdherent.getString("numadh"), rsAdherent.getString("nom"),rsAdherent.getString("prenom"),rsAdherent.getString("adressePostale"),rsAdherent.getString("codePostal"),rsAdherent.getString("ville"),rsAdherent.getString("dateExpir"),rsAdherent.getString("password"),rsAdherent.getString("creditRestant"),rsAdherent.getString("dateNaissance"));
     
    //C'est cette ligne ci dessous qui comporte l'erreur.
       //affichage des données
        GestionAdherents.textboxNom.setText(monAdherent.getNom());
    Merci BEAUCOUP de m'avoir lu et merci de me donner quelques pistes à explorer

    Bon après midi

    David

  2. #2
    Membre expérimenté Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Par défaut
    D'après ce que je comprends ça veut dire que ton attribut textboxNom est privé dans la classe GestionAdherents, donc si tu veux y accéder soit tu fait un accesseur, soit tu met l'attribut en public...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut
    Oui je suis entièrement d'accord avec toi. Ca me rassure que ça soit "aussi simple".

    J'ai pensé aux deux choses mais, tu me dis de mettre l'attribut en public. Déjà, tu me confirmes que c'est textboxNom qui est un attribut?
    Si je ne me trompe pas, il me suffirait de mettre la ligne suivante :
    public javax.swing.JTextField textboxNom;
    Mais je n'ai pas le droit car il y a déjà cette ligne avec un PRIVATE à la place du public et elle ne peut pas être supprimée (elle est générée automatiquement par netBeans lors de la création de l'interface graphique. Donc si je mets la ligne que je viens d'écrire, il me dit qu'elle existe déjà... logique.

    L'autre solution serait de faire un accesseur. Je suis d'accord. Mais je n'y parviens pas. Déjà cet accesseur devrait se faire dans la classe gestionAdherent? Si oui j'ai déjà essayé mais je suis resté bloqué sur ce qu'il devait retourner.... si quelqu'un pouvait me dire quoi mettre...

    Et aussi, je suppose que ça va modifier des choses dans la fameuse ligne qui contient l'erreur?

    Merci de m'avoir lu et de m'aider

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 257
    Par défaut
    a priorie textBoxNom est un JTextFiel ou un truc dans le genre donc dans le cas ou c'est un JTextField il faut que tu fasse dans ta class GestionsAderents :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public JTextField getTextBoxNom() {
    return textboxNom;
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut
    Je confirme que c'est un JTextField, je teste ça tout de suite, merci :p

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut
    J'ai ajouté, comme proposé, l'accesseur dans la classe GestionAdherents et j'ai remplacé la fameuse ligne buguée par celle proposée.
    J'ai toujours une erreur qui parle de "static". C'est une erreur que j'ai de temps en temps mais que je ne sais pas résoudre car dès que j'ajoute "static" quelque part, une erreur apparait autre part, et je tourne en rond.
    L'erreur est la suivante: "non-static method getTextboxNom() cannot be referenced from a static context"
    Etes-vous capable de me dire ce que je dois changer ? Ou vous faut-il plus d'info?

    Merci encore

  7. #7
    Membre expérimenté Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Par défaut
    Oui l'accesseur se met dans la classe GestionAdherent...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public JTextField getTextboxNom() {
        return textboxNom;
    }
    et après pour l'utiliser c'est tout simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GestionAdherents.getTextboxNom().setText(monAdherent.getNom());
    EDIT: Arf, on m'a précédé...

Discussions similaires

  1. [débutant] action tous les x temps
    Par shinkyo dans le forum C
    Réponses: 13
    Dernier message: 08/06/2006, 23h59
  2. [VB.Net] "Impossible de créer le handle de fenêtre"
    Par cedric_g dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/04/2006, 12h49
  3. Réponses: 19
    Dernier message: 09/09/2005, 16h44
  4. [Débutant] Affichage impossible en local
    Par Alberto dans le forum ASP
    Réponses: 2
    Dernier message: 29/11/2003, 16h45

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