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

Java Discussion :

Problème de déclaration avec JBUTTON?


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 11
    Par défaut Problème de déclaration avec JBUTTON?
    voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private final JButton toEnable;
     
        public DeleteOutil(String outil, JButton toEnable) {
    JBUTTON à une erreur cannot find symbol, j'hésite mettre un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string JButton to Enable

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu pourrais être plus clair dans tes explications !

    Si tu obtiens le message d'erreur : "cannot find symbol" pour le mot JBUTTON dans ton code, c'est que ce mot n'est ni reconnu comme une variable, ni comme un classe visible (sous-entendu importée, ou du package courant, ou du package java.lang), ou un mot clef Java. En clair, Java te dit qu'il ne connait pas ce mot.

    Le problème est que dans le code que tu nous expose, on ne voit pas JBUTTON, mais JButton. Est-ce à dire que tu as ailleurs le mot JBUTTON, ou que cette erreur dont tu nous parles se trouve bien à propose de ce JButton qu'on voit là. Dans le premier cas, c'est parce que le nom de la classe c'est JButton et que la casse est primordiale en Java : A est différent de a. Si c'est le second cas, c'est parce que tu as oublié l'import de la classe javax.swing.JButton.

    Par ailleurs,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string JButton to Enable
    n'a aucun sens en Java...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 11
    Par défaut
    Oui c'etait cele il fallait que je mets import.javax.swing.JButton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    smt = maconnexion.ObtenirConnexion().createStatement();
            try (
                Connection con = Connection.getConnection(url,user,pwd);
                Statement stmt = conn.prepareStatement(wql);
            ) {
                stmt.setString(1, note);
                stmt.executeUpdate(wql);
    }
    J'ai un probleme avec mon try il me marque try with ressource is not supported in source 1.5, et avec conn il a aussi cannot find.
    setstring egalement il a cannot find symbol.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Oui, le try-with-resource n'existe que depuis Java 7. Là, tu as paramétré ton projet pour qu'il compile en 1.5, tu ne peux donc pas utiliser le try-with-resource, ce qui signifie que tu dois fermer toi même toutes les ressources que tu ouvres.

    La différence de syntaxe :

    syntaxe try-with-resource
    Code pseudojava : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try( Type nomRessource = creer ressource ) {
     
       utilisation nomRessource
     
    }

    syntaxe sans try-with-resource :
    Code pseudojava : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Type nomRessource = null;
    try {
     
       nomResource = creer ressource;
     
       utilisation nomRessource
     
    }
    finally {
       if ( nomRessource!=null ) {
              // fermer/libérer la ressource
              nomRessource.close()
       }
    }

    Et pour
    et avec conn il a aussi cannot find.
    setstring egalement il a cannot find symbol.
    la variable s'appelle con, pas conn...
    Quant à setString() c'est une méthode de PreparedStatement, pas de Statement, le type que tu as donné à stmt. Ecris : PreparedStatement stmt = conn.prepareStatement(wql); et tu pourras appeler les méthode du type PreparedStatement sur la variable stmt, ce qui te permettra d'appeler sur cette variable les méthodes de la classe PreparedStatement.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    String wql = "DELETE  FROM carnet WHERE id_note=?";
     
     
            try {
                Connection con = Connection.getConnection(url,user,pwd);
                PreparedStatement stmt = con.prepareStatement(wql);
                    } 
            finally {
       if ( stmt!=null ) {
              // fermer/libérer la ressource
              stmt.close();
       }
    }

    comme cela mais ça ne marche pas et url, user, pwd me sont il utile encore car je n'utilise pas de mot de passe dans mon application. usr,pwd, user me viennent d'un tutorial.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Si tu références des variables, il faut qu'elles existent, et qu'elles aient des valeurs. Elles sont déclarées où ces variables url, user et pwd ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 11
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Si tu références des variables, il faut qu'elles existent, et qu'elles aient des valeurs. Elles sont déclarées où ces variables url, user et pwd ?
    je ne vais finalement pas utiliser ces paramètres.

    Est ce que je peux retirer ce code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection con = Connection.getConnection(url,user,pwd);

    Je ne sais pas comment adapter cette méthode à mon code remplace nomressource par quoi. ainsi que créer ressource.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Type nomRessource = null;
    try {
     
       nomResource = creer ressource;
     
       utilisation nomRessource
     
    }
    finally {
       if ( nomRessource!=null ) {
              // fermer/libérer la ressource
              nomRessource.close()
       }
    }

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par trianon23 Voir le message
    je ne vais finalement pas utiliser ces paramètres.

    Est ce que je peux retirer ce code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection con = Connection.getConnection(url,user,pwd);
    Cette ligne te permet de te connecter à priori à une base de données. Si tu as besoin pour ton programme de te connecter à une base de données, il va bien falloir le faire. Si tu n'en as pas besoin, tu peux supprimer cette ligne, mais tu devras aussi supprimer la création du PreparedStatement est son exécution, forcément...


    Citation Envoyé par trianon23 Voir le message
    Je ne sais pas comment adapter cette méthode à mon code remplace nomressource par quoi. ainsi que créer ressource.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Type nomRessource = null;
    try {
     
       nomResource = creer ressource;
     
       utilisation nomRessource
     
    }
    finally {
       if ( nomRessource!=null ) {
              // fermer/libérer la ressource
              nomRessource.close()
       }
    }
    C'est une forme générale, mais il suffit que tu compares l'autre forme (try-with-resource) avec le try-with-resource que tu as fait pour voir ce qui va à la place de quoi :

    • "Type" réprésente le type de la ressource (ça peut être n'importe quoi qui soit Closeable) : dans ton cas, c'est PreparedStatement
    • "nomRessource" c'est la variable de ce type, donc dans ton cas stmt
    • "creer ressource", c'est l'expression pour instancier l'objet référencé par cette variable, donc c'est con.prepareStatement(wql);
    • "utilisation nomResource", c'est le travail que tu veux/dois faire, donc l'executeUpdate()...


    Voir tutoriel JDBC...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 11
    Par défaut
    voila le resultat:
    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
     
     
     
     public Void doInBackground() {
     
     
            PreparedStatement stmt=null;
            String wql = "DELETE  FROM carnet WHERE id_note=?";
            try {
                Connection con = Connection.getConnection(url,user,pwd);
                stmt = con.prepareStatement(wql);
     
                stmt.setString(1, note);
                stmt.executeUpdate(wql);
            }
     
          catch (Exception e) {
     
            }
         finally {
       if ( stmt!=null ) {
              // fermer/libérer la ressource
              stmt.close();
       }
            }  return null;
        }

    unreported exeption java.sql exeption must be caught or declared thrown

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par trianon23 Voir le message
    unreported exeption java.sql exeption must be caught or declared thrown
    Bah, que te dit ce message d'erreur de compilation ? Que close() soulève une SQLException, que tu dois attraper (must be caught)ou relancer à l'appelant (or declared thrown).
    Tu as bien mis un catch pour celle que executeUpdate() lance ? Là, pour close(), c'est pareil !

    En revanche, on ne fait jamais de bloc de catch vide : s'il y a exception, tu ne le sauras pas et tu ne pouras pas comprendre pourquoi ton delete ne fonctionne pas. Au minimum, on affiche l'erreur dans la console. Ensuite, on peut faire différente chose, comme afficher à l'utilisateur qu'il y a eu un problème, ou faire un code qui essaye de rattraper l'erreur, ou tout ce que tu veux.

    Autre chose : si une méthode lance une SQLException, attrape une SQLException, pas une Exception.

    Dernière chose : lorsqu'on utilise un PreparedStatement, on le construit en passant en paramètre une expression SQL contenant des ? là où doivent venir les valeurs des paramètres, qui sont affectés par des méthode comme setString(). Ensuite, on exécute le PreparedStatement, avec une méthode sans paramètre (soit executeUpdate() pour un UPDATE ou un DELETE, soit executeQuery() pour un SELECT) : les méthodes avec paramètres sont pour executer des Statement simple, le paramètre étant une requête sans ?, non paramétrable donc. Donc, attention, dans ton code tu ne dois pas repasser l'expression SQL en paramètre de executeUpdate().
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 11
    Par défaut
    Merci ça marche

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

Discussions similaires

  1. Problème de déclaration avec références croisées
    Par lpierard dans le forum Débuter
    Réponses: 2
    Dernier message: 20/11/2009, 15h10
  2. Problème de déclaration avec Quartz
    Par yaya0057 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 28/09/2009, 09h50
  3. Problème avec JButton
    Par bressan dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/06/2006, 13h01
  4. Réponses: 11
    Dernier message: 29/04/2005, 19h45
  5. Problème de déclaration de segment avec use32
    Par le mage tophinus dans le forum Assembleur
    Réponses: 2
    Dernier message: 10/01/2003, 10h17

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