jlist = new JList();
jlist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jlist.setModel(new DefaultListModel());
jlist.setVisibleRowCount(rows - 2);
jlist.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
//Object o = list.elementAt(evt.getFirstIndex());
int selectedIndex = jlist.getSelectedIndex();
if ((selectedIndex >= 0) && (selectedIndex < list.size())) { //need this check because
//something is screwed: sometimes strange values are returned by getSelectedIndex()