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 :

[Import] ActionListener non compris?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut [Import] ActionListener non compris?
    Bonjour,

    Je suis à réaliser ma première interface graphique pour une application Java et j'avoue que j'ai beaucoup de mal
    J'ai tenté de trouver des sources sur le net et dans la faq et dans les tuto mais... trop de choses... Je m'y perds comme un rien >.<

    Je me suis peut être trompée de sous forum et si cela s'avérait être le cas j'en suis désolée

    Voici mon problème. Lorsque j'arrive à la ligne de procédure évènementielle sur le bouton, j'ai une erreur qui apparait... NetBeans souhaiterait que j'intègre ce package à ma classe... Sauf que normalement elle devrait être déjà incluse >.>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import java.awt.event.ActionListener; // pour moi, déjà importée via 
    import java.awt.*;
    Je voulais savoir que faire...
    L'erreur donnée est la suivante :
    D:\Scolarite\STS2\AP\AP4_Objet\NutriCal\src\nutrical\Application.java:20: cannot find symbol
    symbol : class ActionListener
    location: class nutrical.Application
    new ActionListener(){
    1 error
    Voici le code de mon interface.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    package nutrical;
    import javax.swing.*;
    import java.awt.*;
    import java.util.*;
     
    public class Application {
        public static void main(String args[]){
            final ArrayList<Aliment> desAliments = new ArrayList<Aliment>();
            final ArrayList<Plat> desPlats = new ArrayList<Plat>();
            final ArrayList<Constituer> desConstitutions = new ArrayList<Constituer>();
            final ArrayList<Repas> desRepas = new ArrayList<Repas>();
            final ArrayList<Personne> desPersonnes = new ArrayList<Personne>();
     
            final JTextField nomPersonne = new JTextField("un nom");
            final JFormattedTextField encorUnTexte = new JFormattedTextField(0);
            final JTextArea unListeDOption = new JTextArea();
     
            JButton boutonEnregistrer = new JButton("Enregistrer");
            boutonEnregistrer.addActionListener(
                new ActionListener(){
                    public void actionPerformed(ActionEvent event){
                        String premierTexte = unTexteQuelconque.getText();
                        //methode
                        desPersonnes.add(new Personne(premierTexte));
                    }
                }
            );
            //Instanciation Fenêtre Windows
            JFrame maFenetre = new JFrame();
            Container panel = maFenetre.getContentPane();
            //Création du panel en question
            panel.setLayout(new java.awt.GridLayout(2,2,1,1));
            //Ajout des composants
            panel.add(new JLabel("Nom Personne :"));
            panel.add(nomPersonne);
            panel.add(new JLabel("Enregistrer"));
            panel.add(boutonEnregistrer);
     
            //Calcul de la taille nécessaire
            maFenetre.pack();
            //Libération mémoire lors de la fermeture de la fenêtre
            maFenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Affiche fenêtre
            maFenetre.setVisible(true);    
        }
    }
    Autre question, qui risque de vous hérisser les cheveux sur la tête... Mais j'aurais voulu savoir si ma classe Main que j'utilisais avant l'interface devient cette classe Application... Si je devais placer son code à l'intérieur ou non...

    Ce n'est pas très clair désolée
    J'avais une classe Main dans laquelle j'instanciais mes objets et les sérialisais... J'ai rajouté une classe Application pour faire l'interface graphique dont le code est donné ci-dessus.
    Dois-je incorporer le code de l'une dans l'autre? Si non, comment le programme saura où démarrer ? Démarrer à partir de Main ou Application?

    Merci à vous *o*
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    LA classe ActionListener est située dans java.awt.event. Si je ne dis pas de bêtise quand tu fais import java.awt tu n'importe pas tous les sous packages.

    Pour ce qui est de l'organisation de tes classes tu pourrais avoir 2 classes différentes : une pour l'IHM et une pour les traitements de serialisation. Tu devras décider laquelle est la "chef". Celle ci aura la méthode main et aura comme attribut un objet du type de ton autre classe qu'elle instantiera.

    En espérant t'aider.

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Hum.
    Que je choisisse?
    J'ai donc le choix? Ne suis je pas obligée de faire de façons à ce que l'interface soit prioritaire?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Je pense que tu as le choix même si ça doit être plus facile que l'IHM aie la main.

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Pour voir si j'ai bien comprit...

    Remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    package nutrical;
     
    import java.util.ArrayList;
    import java.io.*;
     
    public class Main{
     
                public static void main(String[] args) throws IOException, ClassNotFoundException {
                            mon traitement;
                }
    }
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    package nutrical;
     
    import java.util.ArrayList;
    import java.io.*;
     
    public class Instanciation{
     
                public Instanciation() throws IOException, ClassNotFoundException {
                            mon traitement;
                }
    }
    et dans mon interface je serais donc à mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    package nutrical;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
     
    public class Application {
        public static void main(String args[]){
            Instanciation inst = new Instantiation();
            mon code d'interface;
        }
    }
    Est ce bien ça?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    C'est le principe. Je ne sais pas ce que tu as dans ton traitement mais si tu veux par exemple le lancer au moment du click sur un bouton je te recommande de le mettre dans une méthode et d'appeler cette méthode au moment du click (il n'est jamais très bon de tout coder dans la même méthode).
    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
     
    package nutrical;
     
    import java.util.ArrayList;
    import java.io.*;
     
    public class Instanciation{
     
                public Instanciation() throws IOException, ClassNotFoundException {
                            initialisation si necessaire sinon méthode vide
                }
     
                public void traitement()
                {
                         mon traitement;
                }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    package nutrical;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
     
    public class Application {
        public static void main(String args[]){
            Instanciation inst = new Instantiation();
            mon code d'interface;
            et dabs les méthode d'action tu fais un inst.traitement();
        }
    }

  7. #7
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Le traitement en fait est l'initialisation de mes ArrayList...
    je désérialise mes fichiers en ArrayList...
    Si je le fais depuis une méthode... je n'y aurais pas accès car ce seront des variables locales non?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

Discussions similaires

  1. Erreur non compris
    Par Imad_ing dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/07/2007, 16h20
  2. [D7] [oracle 9i] un message d'erreur non compris
    Par iam dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2007, 11h32
  3. Bug non compris
    Par Alec6 dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/02/2007, 09h48
  4. Current (bug ou principe non compris ?)
    Par DelphiManiac dans le forum Access
    Réponses: 7
    Dernier message: 10/10/2006, 14h55
  5. [error] depassement de memoire non compris
    Par guns17 dans le forum Langage
    Réponses: 8
    Dernier message: 26/07/2006, 16h35

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