DefaultComboBoxModel comboBoxModel;
...
comboBoxModel.addElement(new UserInfo("all","all"))这样定义的一个JComboBox其值是UserInfo对象,怎样让其显示的选项为自定义字符串,根据字符串选中某一项,可以取出UserInfo对象的值

解决方案 »

  1.   

    UserInfo有没有提供toString方法?
      

  2.   

    重写toString()方法,显示的值就是每一项的toString()的返回值,Object默认的toString()方法就是“类名@哈希码”,你现在没有重写toString()方法,显示的结果应该就是Object类的默认toString()方法的值才对
      

  3.   

    至于根据字符串选中某一项,需要迭代JComboBox combo = new JComboBox();
    for (int i = 0; i < combo.getItemCount(); i++) {
    UserInfo userInfo = (UserInfo)combo.getItemAt(i);
    if ("选项2".equals(userInfo.toString())) {
    combo.setSelectedIndex(i);
    break;
    }
    }