Jak przenieść element z jlist do drugiej jlisty i usunąć go z pierwszej jlisty? Na przykład wybieram Robert, przenosi mi się do drugiej listy i usuwa z pierwszej, aby nie można go było drugi raz wybrać.
// Demonstruje prostą listę JList.
// Wymaga JDK 7 lub nowszej wersji.
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class ListDemo implements ListSelectionListener {
JList<String> jlst;
JLabel jlab;
JScrollPane jscrlp;
// Tworzy tablicę imion.
String names[] = { "Ewa", "Janina", "Robert",
"Sandra", "Joanna", "Rafał",
"Bolek", "Maria", "Krzysio",
"Andrzej", "Maciej", "Tomek" };
ListDemo() {
JFrame jfrm = new JFrame("Lista JList");
jfrm.setLayout(new FlowLayout());
jfrm.setSize(200, 160);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jlst = new JList<String>(names);
jlst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jscrlp = new JScrollPane(jlst);
jscrlp.setPreferredSize(new Dimension(120, 90));
jlab = new JLabel("Wybierz imię");
jlst.addListSelectionListener(this);
jfrm.add(jscrlp);
jfrm.add(jlab);
jfrm.setVisible(true);
}
public void valueChanged(ListSelectionEvent le) {
int idx = jlst.getSelectedIndex();
if(idx != -1)
jlab.setText("Aktualny wybór: " + names[idx]);
else // W przeciwnym razie ponawia zachętę.
jlab.setText("Wybierz imię");
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ListDemo();
}
});
}
}