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 :

Pb clic sur JList avec swing


Sujet :

Composants Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 74
    Points : 106
    Points
    106
    Par défaut Pb clic sur JList avec swing
    Bonjour,

    J'ai une appli JAVA (enfin ce qui y ressemble ;p) avec notamment une JList.

    Je n'arrive pas a créer un évenement sur un objet et nottament sur la selection d'une ligne d'une JList que j'apelle dans mon projet "Liste".

    voici mon code :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    package Prosit3Package;
     
    import java.awt.Font;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JList;
    import javax.swing.JTextArea;
    import java.util.Vector;
     
     
    public class MonAppli extends JFrame
    {
    	private JButton ok=new JButton("Fermer");
    	private JLabel titre=new JLabel ("Statistiques du site Internet");
    	private JTextArea resultat=new JTextArea ("");	
     
    	public Vector ListeMois = new Vector();
        JList Liste = new JList();
     
     
    	private MyPanel panel=new MyPanel();
     
    	public class MyPanel extends JPanel
    	{
    		public MyPanel()
    		{
    			setLayout(null);
     
    			//titre
    			titre.setFont(new Font("Verdana",Font.BOLD,15));
    			titre.setBounds(10,0,250,50);
    			add(titre);
     
    			//liste
    			ListeMois.addElement("janvier");
    			ListeMois.addElement("février");
    			ListeMois.addElement("mars");
    			ListeMois.addElement("avril");
    			ListeMois.addElement("mai");
    			ListeMois.addElement("juin");
    			ListeMois.addElement("juillet");
    			ListeMois.addElement("août");
    			ListeMois.addElement("septembre");
    			ListeMois.addElement("octobre");
    			ListeMois.addElement("novembre");
    			ListeMois.addElement("décembre");			
    			Liste=new JList(ListeMois);				
    			Liste.setBounds(10,60,70,220);
    			add(Liste);
     
    			//Btn Fermer
    			ok.setBounds(650,280,100,50);
    			add(ok);
     
    			//Resultat
    			resultat.setBounds(110,60,400,220);
    			add(resultat);
     
    		}		
    	}//MyPanel
     
     
    	public MonAppli()
    	{
    		setTitle("Statistiques du site Internet");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setContentPane(panel);
    		setLocation(80,200);
    		setSize(800,400);
    		setVisible(true);
    	}
     
    	public static void main(String[]args)
    	{
    		new MonAppli();
    	}
    }
    j'ai trouvé ce code la en réponse a un membre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Liste.addListSelectionListener(new ListSelectionListener() {
          public void valueChanged(ListSelectionEvent e) {
            Liste_Selection(e);
          }
    });
    mais je ne sais pas ou le mettre ^^

    Merci !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!!! au secours mon coeur!!!!!!!!!!!!
    S'il te plait indentes correctement et fait gaffe à tes modificateurs d'accès. En particulier pour ta class MyPAnel qui ne dois pas être déclarer dans le même fichier que MonAppli ou déclarer en private. Et puis declare ton Vectot listMois dans la classe MyPanel et mets le en private (les concepts objets merde !!).
    Autre chose utilise les Layout plutot que setBound(), tu te simplifiera la vie

    Pour ce qui de ta reponse tu dois inserer ton code dans le constructeur de myPanel après:
    Liste=new JList(ListeMois);
    Liste.addListSelectionListener(new ListSelectionListener() {
    public void valueChanged(ListSelectionEvent e) {
    MyPanel.this.Liste_Selection(e);
    }
    });
    et tu dois créer ta methodes qui gerera l'événement dans la classe MyPanel

    Bonne Chance

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 74
    Points : 106
    Points
    106
    Par défaut Modifications
    Re-Bonjour,

    J'ai essayé de faire les modifications que tu m'as proposé mais j'ai pas tout compris.

    Voilà ou j'en suis :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    package Prosit3Package;
     
    import java.awt.Font;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JList;
    import javax.swing.JTextArea;
    import java.util.Vector;
     
    public class MonAppli extends JFrame
    {
    	private JButton ok=new JButton("Fermer");
    	private JLabel titre=new JLabel ("Statistiques du site Internet");
    	private JTextArea resultat=new JTextArea ("");	
     
    	JList Liste = new JList();
     
    	private MyPanel panel=new MyPanel();
     
    	public class MyPanel extends JPanel
    	{
    		private Vector ListeMois = new Vector();
     
    		public MyPanel()
    		{
    			setLayout(null);
     
    			//titre
    			titre.setFont(new Font("Verdana",Font.BOLD,15));
    			titre.setBounds(10,0,250,50);
    			add(titre);
     
    			//liste
    			ListeMois.addElement("janvier");
    			ListeMois.addElement("février");
    			ListeMois.addElement("mars");
    			ListeMois.addElement("avril");
    			ListeMois.addElement("mai");
    			ListeMois.addElement("juin");
    			ListeMois.addElement("juillet");
    			ListeMois.addElement("août");
    			ListeMois.addElement("septembre");
    			ListeMois.addElement("octobre");
    			ListeMois.addElement("novembre");
    			ListeMois.addElement("décembre");			
    			Liste=new JList(ListeMois);		
     
    			Liste.addListSelectionListener(new ListSelectionListener() {
    				public void valueChanged(ListSelectionEvent e) {
    					MyPanel.this.Liste_Selection(e);
    				}
    			});
     
    			Liste.setBounds(10,60,70,220);
    			add(Liste);
     
    			//Btn Fermer
    			ok.setBounds(650,280,100,50);
    			add(ok);
     
    			//Resultat
    			resultat.setBounds(110,60,400,220);
    			add(resultat);
     
    		}		
    	}//MyPanel
     
    	public MonAppli()
    	{
    		setTitle("Statistiques du site Internet");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setContentPane(panel);
    		setLocation(80,200);
    		setSize(800,400);
    		setVisible(true);
    	}
     
    	public static void main(String[]args)
    	{
    		new MonAppli();
    	}
    }
    J'ai une erreur "ListSelectionListener cannot be resolved to a type" sur la ligne
    Liste.addListSelectionListener(new ListSelectionListener() {

    Je dois créer une appli graphique JAVA, j'ai une classe pour la BDD, et je voulais mettre tous le reste sur la meme page.. Il faut que je crée un fichier uniquement pour la partie graphique swing ?

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    De manière général, on utilise une seul classe par fichier. Après si tu veux regrouper tes classes par catégorie, tu les mets dans un package.
    Donc un package pour la BDD, un autre pour la GUI, un autre pour le noyau...
    Sinon pour on ListSelectionListener notFound, tu pourrais chercher un peut sur google.Il faut juste importer le package javax.swing.event(import javax.swing.event.*).
    Faudrait que tu te prenne en main, ce n'est pas compliqué de faire quelque recherche sur google plutot que de poster un problème qui n'en est même pas un

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 74
    Points : 106
    Points
    106
    Par défaut
    Faudrait que tu te prenne en main, ce n'est pas compliqué de faire quelque recherche sur google plutot que de poster un problème qui n'en est même pas un
    Bah écoute j'ai deja utilisé google mais la faut que je finisse ce truc en urgence et ca fait un moment que je bloque dessus. Si ma question te parait stupide, je t'oblige pas à m'aider, surtout pour me sortir des trucs comme ça.

  6. #6
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par atha2 Voir le message
    Faudrait que tu te prenne en main, ce n'est pas compliqué de faire quelque recherche sur google plutot que de poster un problème qui n'en est même pas un
    hé du calme ! les débutants on le droit d'être débutant ! on ne nait pas avec la science infuse et le concept objet n'est pas forcément compréhensible au premier coup d'oeil ^^ ! oui rechercher avec google c'est bien ! le dire gentiment c'est bien aussi (même si parfois y a des cas particulier ... *rire diabolique*) !

  7. #7
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    S'il te plait indentes correctement
    En réalité il n'existe pas de manière "correcte" d'indenter. L'intérêt principal de l'indentation est la lisibilité du code et la conformité dans le cadre d'un travail en équipe; ce n'est qu'une question de conventions. Cela dit je partage l'idée d'un respect dans les grandes lignes des conventions de codage de Sun, tant que ça ne s'érige pas en "dictature".

  8. #8
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut

    private
    JButton ok=new JButton("Fermer");
    private JLabel titre=new JLabel ("Statistiques du site Internet");
    private JTextArea resultat=new JTextArea ("");

    public Vector ListeMois = new Vector();
    JList Liste = new JList();


    private MyPanel panel=new MyPanel();

    public class MyPanel extends JPanel
    Par mal indenté, c'est de ça que je parlais(tien en faite les decalage n'apparaisse pas...) et je tiens à m'excuser auprès de damien27000, il est vrai que je me suis un peu emporté(je suis passé par là moi aussi)
    Pour ce qui est d'indenter moi j'utilise Eclipse et son Ctrl-I qui indente automatiquement.
    poster un problème qui n'en est même pas un
    je parlai de
    "ListSelectionListener cannot be resolved to a type"
    mais il est vrai qu'en faite quand on "débute" tout les messages d'erreurs ne sont très clair.

Discussions similaires

  1. Probleme double clic sur colonne avec MsFlexgrid
    Par skywalker48 dans le forum IHM
    Réponses: 1
    Dernier message: 22/01/2009, 14h31
  2. 2 actions différentes avec un clic sur une image
    Par beegees dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/02/2008, 19h37
  3. [PHP-JS] Incrémenter compteur avec clic sur lien
    Par Bydouille dans le forum Langage
    Réponses: 5
    Dernier message: 12/11/2007, 16h32
  4. [Swing] JList avec elements uniques
    Par Invité dans le forum Composants
    Réponses: 4
    Dernier message: 28/02/2006, 14h57
  5. [Jlist] Clic sur jlist
    Par bibx dans le forum Composants
    Réponses: 6
    Dernier message: 07/05/2004, 10h19

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