我正在Eclipse中的Java应用程序上工作,该应用程序将数据从MySQL数据库中拉出。我正在用数据填充组合框。到目前为止,我可以显示一个字段的值,但无法弄清楚如何存储数据库行的唯一ID值。我发现的一个建议是创建一个自定义类,该类可以存储显示值和id值。但是,这似乎不适用于Eclipse小部件组合对象。这就是我所拥有的

import org.eclipse.swt.widgets.Combo;

class myClass {
   public static void createCombo(ResultSet rs) {
      Combo c = new Combo();
      while(rs.next()) {
         int id = rs.getInt("id");
         int display = rs.getString("display");
         comboitem ci = new comboitem(id,display);
         c.add(ci);
      }
   }
}
class comboitem {
   private int _id;
   private String _display;

   public comboitem(int id, String display) {
     this._id = id;
     this._display = display;
   }
   public int getID(){
      return _id;
   }
   public String toString(){
     return _display;
    }
}


以上错误出现在c.add(ci)。它期望一个字符串,而不是一个对象。有没有办法做到这一点?

最佳答案

不知道,但是,我一直觉得这是一个不好的举动。
创建组合项目的集合/列表,然后从comboitem.display填充小部件。
组合中的索引是集合中的索引。
意味着您可以不使用UI或使用简单的模拟就可以对很多东西进行单元测试,并且可以避免数据模型中桌面特定的实现。

09-04 07:51
查看更多