Bonjour,
J'ai une JList et je voudrais que, lorsque je sélectionne des items de cette JList puis je clique sur un bouton, les items sélectioonés soient affichés dans une autre JList. Comment faire ça ? Merci d'avance pour votre aide.
Version imprimable
Bonjour,
J'ai une JList et je voudrais que, lorsque je sélectionne des items de cette JList puis je clique sur un bouton, les items sélectioonés soient affichés dans une autre JList. Comment faire ça ? Merci d'avance pour votre aide.
Bonjour,
Tu peux récupérer les éléments sélectionnés dans ta jListA et les mettre dans un tableau (Object[] par défaut) en utilisant la méthode Object[] getSelectedValues() ensuite, à l'aide d'une boucle tu insères tous les éléments du tableau précédemment créé et rempli dans la jListB.
A+
mais mon probléme c'est la boucle
Salut,
C'est-à-dire ? Quel problème ? C'est faire ça qui te pose problème :
Donc il suffit de faire, par exemple :Code:
1
2 for(String selected : jlist1.getSelectedValuesList()) { }
NB : @MasterMbg : getSelectedValues() a été déprécié en faveur de getSelectedValuesList().Code:
1
2
3
4
5
6
7
8
9 list1.getSelectionModel().addListSelectionListener(e-> { //if ( !e.getValueIsAdjusting() ) { DefaultListModel<String> model=new DefaultListModel<>(); for(String selected : list1.getSelectedValuesList()) { model.addElement(selected); } list2.setModel(model); //} });
j'ai essaye merci d'avoir m'aider .thanks
LORSQUE je selectionne les deux items il me cree juste le premier fichier please help meCode:
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 try{ // con=DriverManager.getConnection(BaseDonnees,"system","doudi"); Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/reseau_social","root","root");//?user=root&password=root\""); System.out.println("connexion à la base de données réussie "); Statement stmt = connect.createStatement(); // ResultSet rs2 = stmt.executeQuery( "select * from commune " ) ; // System.out.println( rs2.getStatement().toString()); // jTextArea1.append(rs2.getStatement().toString()); for(Object selected :jList1.getSelectedValuesList()) { if (jList1.getSelectedValue().equals("users")) { JSONObject obj1 = new JSONObject(); ResultSet rs3 = stmt.executeQuery( "select * from adress " ) ; ResultSetMetaData resultMeta2 = rs3.getMetaData(); // File file1 =new File ("C:\\Users\\help\\Desktop\\adress.json") ; // file1.createNewFile(); // FileWriter writer1 =new FileWriter(file1); File file1 =new File ("C:\\Users\\help\\Desktop\\adress22.json") ; file1.createNewFile(); FileWriter writer1 =new FileWriter(file1); while(rs3.next()) { obj1.put("id_adress", rs3.getObject(1).toString()) ; // for(int i = 1; i <= resultMeta.getColumnCount(); i++){ obj1.put("nom_adress", rs3.getObject(2).toString()); Object jsoncontent1 = obj1; System.out.println("le"+jsoncontent1); // writer1.write(jsoncontent1.toString()); // writer1.write(jsoncontent1.toString()); writer1.write(jsoncontent1.toString()+"\n"); writer1.flush(); } rs3.close(); } if (jList1.getSelectedValue().equals("commune")) { JSONObject obj1 = new JSONObject(); ResultSet rs3 = stmt.executeQuery( "select * from adress " ) ; ResultSetMetaData resultMeta2 = rs3.getMetaData(); // File file1 =new File ("C:\\Users\\help\\Desktop\\adress.json") ; // file1.createNewFile(); // FileWriter writer1 =new FileWriter(file1); File file1 =new File ("C:\\Users\\help\\Desktop\\ad2.json") ; file1.createNewFile(); FileWriter writer1 =new FileWriter(file1); while(rs3.next()) { obj1.put("id_adress", rs3.getObject(1).toString()) ; // for(int i = 1; i <= resultMeta.getColumnCount(); i++){ obj1.put("nom_adress", rs3.getObject(2).toString()); Object jsoncontent1 = obj1; System.out.println("le"+jsoncontent1); // writer1.write(jsoncontent1.toString()); // writer1.write(jsoncontent1.toString()); writer1.write(jsoncontent1.toString()+"\n"); writer1.flush(); } rs3.close(); } } } catch (SQLException e){ System.out.println(e); } catch (IOException ex) { Logger.getLogger(migration.class.getName()).log(Level.SEVERE, null, ex); }
Quel rapport avec la question initiale ?
C'est selected que tu dois tester dans ta boucle, parce que jList1.getSelectedValue() renvoie toujours la même valeur (le premier).Code:
1
2
3
4 for(Object selected :jList1.getSelectedValuesList()) { if (jList1.getSelectedValue().equals("users")) { ... }
PS : fais un effort sur l'indentation du code