我有一个jList对象,程序初始化的时候得到jList里的数据,我想通过鼠标点击获得list里的元素(String类型)
我想通过监听鼠标来实现jList1 = new javax.swing.JList();jList1.setModel(new javax.swing.AbstractListModel() {
    ArrayList city_list = (ArrayList)getWeatherCity();
    public int getSize() { return city_list.size(); }
    public Object getElementAt(int i) { return city_list.get(i); }
});jList1.setName("jList1");jScrollPane1.setViewportView(jList1);

解决方案 »

  1.   

     myList.addListSelectionListener(new ListSelectionListener()
       {
          public void valueChanged(ListSelectionEvent e)
          {
             Object o = myList.getSelectedItem();
             System.out.println(o.toString());
          }
       }
       );
      

  2.   


    myList.addListSelectionListener(new ListSelectionListener() { 
          public void valueChanged(ListSelectionEvent e) { 
            JList list = (JList)e.getSource(); 
            String obj = (String)myList.getSelectedItem(); 
            System.out.println(obj); 
          } 
      } 
    ); 
      

  3.   


    myList.addListSelectionListener(new ListSelectionListener() { 
          public void valueChanged(ListSelectionEvent e) { 
            JList list = (JList)e.getSource(); 
            String obj = (String)list.getSelectedItem(); 
            System.out.println(obj); 
          } 
      } 
    ); 
      

  4.   

    你们忽悠我啊JList类里没有getSelectedItem()方法。不过getSelectedValue()这个方法可以用。
    应该这样
    private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {
    // TODO add your handling code here:
        String str = (String)jList1.getSelectedValue();
    }