Salut, je dois choisir un élément d'une JList à un autre, le supprimer du premier La méthode que j'ai créée insère un seul élément, écrase le dernier et ne supprime pas l'élément sélectionné de la première JList Voici le code:
Première liste
private javax.swing.JList listaRosa;
Rempli par cette méthode:
private void visualizzaRosaButtonvisualizzaRosa(Java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
visualizzaSquadraSelezionata();
String fileSquadra;
fileSquadra = squadraDaVisualizzare.getText();
DefaultListModel listModel = new DefaultListModel();
try {
FileInputStream fstream = new FileInputStream("C:/Users/Franky/Documents/NetBeansProjects/JavaApplication5/src/javaapplication5/Rose/"+fileSquadra+"");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
listModel.addElement(strLine);
System.out.println(strLine);
}
listaRosa.setModel(listModel);
//Close the input stream
in.close();
} catch (Exception e) {
}
La deuxième liste, où je veux insérer des éléments supprimés de la première:
private javax.swing.JList listaTitolari
Voici le code ne fonctionne pas:
private void aggiungiTitolareButtonActionPerformed(Java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DefaultListModel listModel = new DefaultListModel();
String daInserire;
listModel.addElement(listaRosa.getSelectedValue());
listModel.removeElement(listaRosa.getSelectedValue());
listaTitolari.setModel(listModel);
}
Merci
Le problème est
listModel.addElement(listaRosa.getSelectedValue());
listModel.removeElement(listaRosa.getSelectedValue());
vous pouvez ajouter un élément et le supprimer immédiatement car les opérations d'ajout et de suppression sont sur le même listModel.
Essayer
private void aggiungiTitolareButtonActionPerformed(Java.awt.event.ActionEvent evt) {
DefaultListModel lm2 = (DefaultListModel) listaTitolari.getModel();
DefaultListModel lm1 = (DefaultListModel) listaRosa.getModel();
if(lm2 == null)
{
lm2 = new DefaultListModel();
listaTitolari.setModel(lm2);
}
lm2.addElement(listaTitolari.getSelectedValue());
lm1.removeElement(listaTitolari.getSelectedValue());
}
Le moyen le plus simple et le plus simple d'effacer un JLIST est:
myJlist.setListData(new String[0]);