为什么我只加了一个ListSelectionListener,
valueChanged(ListSelectionEvent e)被调用了两次?
不解!!

解决方案 »

  1.   

    void jList1_valueChanged(ListSelectionEvent e) {
    if(e.getValueIsAdjusting())return;

    System.out.println("valueChanged");    }单击即可。如果一定要用双击
        void jList1_mouseClicked(MouseEvent e) {
    if(e.getClickCount()<2)return;
    if(jList1.getSelectedIndex() < 0)return;

    System.out.println("jList1_mouseClicked");

        }
      

  2.   

    我还想问,JList是根据什么来把选项显示出来的?
    比如我建了一个Vector,然后用这个vector作为参数来构造JList,那么JList根据什么来将vector中的元素作为选项显示出来。
    如果我想每个选项的显示是一个小图像后面更一个字串,该怎么做?
      

  3.   

    valueChanged两次的问题是因为第一次是某个item失去选中,第二次是某个item被选中
      

  4.   

    写一个CellRenderer,jdk里就有例子