Re: I have 2 JLists. How can I find which JList user clicked?
Thank you for help. l2 is L2 in lower case. I modified the code and
it runs. But it does not work for the second list. Could you try it
and tell me why?
import java.awt.*;
import javax.swing.event.*;
import javax.swing.*;
public class List2 implements ListSelectionListener
{
JList l1,l2;
DefaultListModel model1 = new DefaultListModel();
DefaultListModel model2 = new DefaultListModel();
public static void main(String[] args) {
JFrame f = new JFrame("Lister v1.0");
List2 l=new List2();
f.setSize(200, 200);
f.setLocation(200, 200);
Container c = f.getContentPane();
GridLayout grd = new GridLayout(1,2,10,10);
c.setLayout(grd);
l.create();
c.add(l.l1);
c.add(l.l2);
f.setVisible(true);
}
public void valueChanged(ListSelectionEvent e){
Object selection = l1.getSelectedValue();
if ((e.getSource()==l1) && l1.getSelectedIndex()>=0){
model2.addElement(selection);
model1.removeElementAt(l1.getSelectedIndex());
}
if ((e.getSource()==l2) && l2.getSelectedIndex()>=0){
model1.addElement(selection);
model2.removeElementAt(l2.getSelectedIndex());
}
}
private void create(){
l1 = new JList(model1);
l2 = new JList(model2);
model1.addElement("Mark");
model1.addElement("Mary");
model1.addElement("Mike");
l1.addListSelectionListener(this);
l2.addListSelectionListener(this);
}}