JList是如何产生的?
打印结果是什么样的?或者
程序贴一下把

解决方案 »

  1.   

    如果你的JList Value是String,用JList.getSelectedValue().toString()就没问题了。
    API文档:
    // Create a JList that displays the strings in data[] String[] data = {"one", "two", "three", "four"};
     JList dataList = new JList(data);
     
     // The value of the JList model property is an object that provides
     // a read-only view of the data.  It was constructed automatically. for(int i = 0; i < dataList.getModel().getSize(); i++) {
         System.out.println(dataList.getModel().getElementAt(i));
     } // Create a JList that displays the superclass of JList.class.
     // We store the superclasses in a java.util.Vector. Vector superClasses = new Vector();
     Class rootClass = javax.swing.JList.class;
     for(Class cls = rootClass; cls != null; cls = cls.getSuperclass()) {
         superClasses.addElement(cls);
     }
     JList classList = new JList(superClasses);
      

  2.   

    class MyCellRenderer extends JLabel implements ListCellRenderer {
         final static ImageIcon longIcon = new ImageIcon("long.gif");
         final static ImageIcon shortIcon = new ImageIcon("short.gif");     // This is the only method defined by ListCellRenderer.
         // We just reconfigure the JLabel each time we're called.     public Component getListCellRendererComponent(
           JList list,
           Object value,            // value to display
           int index,               // cell index
           boolean isSelected,      // is the cell selected
           boolean cellHasFocus)    // the list and the cell have the focus
         {
             String s = value.toString();
             setText(s);
             setIcon((s.length() > 10) ? longIcon : shortIcon);
               if (isSelected) {
                 setBackground(list.getSelectionBackground());
                   setForeground(list.getSelectionForeground());
               }
             else {
                   setBackground(list.getBackground());
                   setForeground(list.getForeground());
               }
               setEnabled(list.isEnabled());
               setFont(list.getFont());
             setOpaque(true);
             return this;
         }
     } String[] data = {"one", "two", "three", "four"};
     JList dataList = new JList(data);
     dataList.setCellRenderer(new MyCellRenderer());