`
hsyd
  • 浏览: 173358 次
  • 性别: Icon_minigender_1
  • 来自: 淄博
社区版块
存档分类
最新评论

swing 中为JComboBox增加存取value显示name的办法

    博客分类:
  • j2se
阅读更多

//定义数据结构

class City{

      private String name;

      private int code;

      public City(name,code){......}

      //...getter、setter省略

      public String toString(){

             return name;

      }

      //equals 方法 ...return this.code==other.code

}

// 创建

List<City> listCity = new ArrayList<City>();

listCity.add(new City("北京",1));

listCity.add(new City("上海",2));

listCity.add(new City("广州",3));

listCity.add(new City("none",-1));

JComboBox jcbCity = new JComboBox(listCity.toArray());

这样下拉选择框就建好了,显示的文本是City.toString()得到的值(这里显示的是name)

 

JComboBox有一组方法:

void setSelectedItem(Object) : 选中object这个项目

Object getSelectedItem() :取得选中的项目对象(这个例子中getSelectedItem就能拿到City对象)

 

使用:

1. 取得当前选中的City 的名字

City selectedCity =(City) jcbCity.getSelectedItem();

String cityName = selectedCity.getName();

 

2. 选中值为aCity的项目(aCity是其它地方取得的)

jcbCity.setSelectedItem(aCity);

 

3.知道code=2,要选择对应的项目

jcbCity.setSelectedItem(new City("",2));//应该没忘记equals方法只是比较code吧

2
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics