我在JComboBox中存了一个名称列表。
我现在想在每个列中存一个ID值。这样我可以根据ID值来查询我的记录如何实现?谢谢各位

解决方案 »

  1.   

    试试:
    建一个对象存储名称与ID,重写toString方法,使之输出名称.然后将对象添加到JComboBox中,比较时,可以把列表项提取出来,比较ID即可.
      

  2.   

    谢谢,没有一个象JTree一样的方法setUserObject存自己的对象么 ?
      

  3.   

    这种需求很常见,好多情况是查询一个表,得到一组数据,显示的是一个内容(string)字段,但是id或者别的字段要都要用到
    yuzl32(Hello!有酒醉)说的对,把要显示的字段作为tostring返回的值我以前写过的例子,看看对你有没有帮助,可以把这个例子由类改成接口,可能会更好一点public class ParamsClass {
      private Object[] params = null;
      public int length = 0;
      public ParamsClass(int length) {
        params = new String[length];
        this.length = length;
      }  public ParamsClass(String param1) {
        this(1);
        params[0] = param1;
      }  public ParamsClass(Object param1) {
        this(1);
        params[0] = param1;
      }  public ParamsClass(String param1, String param2) {
        this(2);
        params[0] = param1;
        params[1] = param2;
      }  public ParamsClass(Object param1, Object param2) {
        this(2);
        params[0] = param1;
        params[1] = param2;
      }  public ParamsClass(Object[] params) {
        this(params.length);
        this.params = params;
      }  public ParamsClass(Vector params) {
        this(params.size());
        for (int i = 0; i < params.size(); i++) {
          this.params[i] = params.get(i);
        }
      }  public ParamsClass(String[] params) {
        this(params.length);
        for (int i = 0; i < params.length; i++) {
          this.params[i] = params[i];
        }
      }  public Object getParam(int i) {
       if(params[i]==null){
       return "";
       }
        return params[i];
      }  public void setParam(int i, Object param) {
        params[i] = param;
      }  public void setParam(int i, String param) {
        params[i] = param;
      }  public String toString() {
        return this.getParam(0).toString();
      }
      public String[] toArray(){
        String[] arr = new String[length];
        for(int i =0 ;i < length;i++){
          if(getParam(i)==null){
            arr[i]="";
          }else{
            arr[i] = getParam(i).toString();
          }
        }
        return arr;
      }
    }