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

avec Java Discussion :

Récupérer un objet d'une JList et l'utiliser


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut Récupérer un objet d'une JList et l'utiliser
    Bonjour, j'ai juste un problème au niveau de l'utilisation de la JList,
    quand j'appuie sur un objet dans la JList, je veux récupérer le nom dans le JTextField nomTexte, le problème c'est que ça compile bien, mais rien ne s'affiche lorsque je clique sur l'objet dans la JList.
    Quelqu'un a-t-il une idée ?

    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    package test;
     
    import java.awt.Color;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;
    import javax.swing.ListSelectionModel;
    import javax.swing.border.LineBorder;
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
     
    public class ArboIHM extends JFrame implements ActionListener {
     
    	private List<File> liste = new ArrayList<File>();
    	private JPanel panel = new JPanel();
    	private JPanel boutons = new JPanel();
    	private JButton triNom = new JButton("Arborescence triée par nom");
    	private JButton triTaille = new JButton("Arborescence triée par taille");
    	// private JButton TriDate = new JButton("Arborescence triée par date");
    	private File test = new File(".");
    	private ArboTrieeParNom a1 = new ArboTrieeParNom(test);;
    	private ArboTrieeParTaille at1 = new ArboTrieeParTaille(test);
    	private JList laListe = new JList(liste.toArray());;
    	private JLabel nomLabel = new JLabel("Nom : ");
    	private JLabel tailleLabel = new JLabel("Taille : ");
    	private JLabel dateLabel = new JLabel("Date : ");
    	private JPanel nom = new JPanel();
    	private JPanel taille = new JPanel();
    	private JPanel date = new JPanel();
    	private JTextField nomTexte = new JTextField(20);
    	private JTextField tailleTexte = new JTextField(20);
    	private JTextField dateTexte = new JTextField(20);
    	private JScrollPane scrollPane = new JScrollPane(laListe);
    	private JButton ouvrir = new JButton("Ouvrir le fichier");
    	private GridLayout g1 = new GridLayout(3, 1);
    	private JLabel typeLabel = new JLabel("Type : ");
    	private JPanel type = new JPanel();
    	private JTextField typeTexte = new JTextField(20);
    	private JScrollPane j1 = new JScrollPane(laListe);
    	private JPanel infos = new JPanel();
     
    	private class triParNom implements ActionListener {
    		public void actionPerformed(ActionEvent arg0) {
    			// laListe = new JList(a1.getListe().toArray());
    			laListe.setListData(a1.getListe().toArray());
     
    		}
    	}
     
    	private class triParTaille implements ActionListener {
    		public void actionPerformed(ActionEvent arg0) {
    			// laListe = new JList(a1.getListe().toArray());
    			laListe.setListData(at1.getListe().toArray());
     
    		}
    	}
     
    	public ArboIHM() {
    		init();
     
    	}
     
    	public void init() {
    		setVisible(true);
    		this.setJMenuBar(this.creationBarreDeMenu());
    		setTitle("Projet de JAVA");
    		pack();
    		setSize(700, 300);
    		this.setLocationRelativeTo(null);
    		setResizable(false);
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
     
    		add(panel);
    		nom.add(nomLabel);
    		nom.add(nomTexte);
    		date.add(dateLabel);
    		date.add(dateTexte);
    		taille.add(tailleLabel);
    		taille.add(tailleTexte);
    		type.add(typeLabel);
    		type.add(typeTexte);
     
    		boutons.add(triNom);
    		boutons.add(triTaille);
    		boutons.add(ouvrir);
     
    		infos.add(nom);
    		infos.add(date);
    		infos.add(taille);
    		infos.add(type);
     
    		panel.setLayout(g1);
    		panel.add(boutons);
    		panel.add(infos);
    		j1.setViewportView(laListe);
    		panel.add(j1);
     
    		triNom.addActionListener(new triParNom());
    		triTaille.addActionListener(new triParTaille());
     
    		laListe.setBorder(new LineBorder(Color.black)); // couleur du bord
    		laListe.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    		File f1 = (File) laListe.getSelectedValue();
     
    		if(f1!=null){
     
    			nomTexte.setText(f1.getName());
    		}
     
     
    		panel.updateUI();
    	}
     
    	private JMenuBar creationBarreDeMenu() {
     
    		JMenuBar jmb = new JMenuBar();
     
    		JMenu fichier = new JMenu("Fichier");
    		JMenu aide = new JMenu("?");
     
    		JMenuItem itemNouveau = new JMenuItem("Nouveau");
    		JMenuItem itemSauver = new JMenuItem("Sauvegarder");
    		JMenuItem itemCharger = new JMenuItem("Charger");
    		JMenuItem itemQuitter = new JMenuItem("Quitter");
    		JMenuItem itemPropos = new JMenuItem("A Propos");
    		JMenuItem itemAide = new JMenuItem("Aide");
     
    		fichier.add(itemNouveau);
    		fichier.add(itemSauver);
    		fichier.add(itemCharger);
    		fichier.add(itemQuitter);
    		aide.add(itemPropos);
    		aide.add(itemAide);
     
    		jmb.add(fichier);
    		jmb.add(aide);
     
    		itemQuitter.addActionListener(this);
     
    		return jmb;
     
    	}
     
    	public void actionPerformed(ActionEvent e) {
     
    		String action = e.getActionCommand();
     
    		if (action.equals("Quitter")) {
    			System.exit(0);
    		}
    	}
     
    	public static void main(String... args) {
    		new ArboIHM();
    	}
    }

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Résoluuuu !
    Après des heures de recherches... lol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		laListe.addListSelectionListener(new ListSelectionListener() {
     
    			  public void valueChanged(ListSelectionEvent e) {
    				  File f1 = (File) laListe.getSelectedValue();
    			    nomTexte.setText(f1.getName());
    			  }
    			});
    J'ai trouvé ça sur internet, si quelqu'un aurait le temps de m'expliquer comment séparer la méthode de l'appel je ne dirai pas non... lol

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Sup3rc0c0 Voir le message
    comment séparer la méthode de l'appel
    qu'est-ce que tu entends par là? oO

Discussions similaires

  1. Récupérer valeurs multiples d'une JLIST
    Par bobic dans le forum Composants
    Réponses: 3
    Dernier message: 14/09/2006, 16h37
  2. Comment récupèrer les éléments d'une JList
    Par Orian dans le forum Composants
    Réponses: 13
    Dernier message: 10/09/2006, 11h53
  3. récupérer un objet dans une liste chainée
    Par marsuwhite dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2006, 14h05
  4. Réponses: 2
    Dernier message: 02/01/2006, 20h56
  5. Récupérer un objet d'une liste déroulante
    Par Hell dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/01/2005, 14h59

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