swing——combobox如何获取数据库数据并显示

2 篇文章 0 订阅
1 篇文章 0 订阅

今天正在做系统的用户模块,其中一项是swing中 combobox控件需要从数据库中获取其整体的集合,然后将集合遍历后将其中的对象放入到combo box中,在界面展现上显示其名称,而在数据传递及写入数据时则为其ID值。当时查询各种关于combo box的资料及API,总是找不到解决的办法。在费了半天时间,才在论坛里找到,swing中的combo box 竟然不支持对象,我瞬间斯巴达了~~~于是就在想怎么解决,经过对frame的代码仔细研究后发现,在new frame时会调用其构造函数,其中构造函数中调用了一个initComponents()的方法,在这个方法里面我发现了combo box里在setModel里面new了一个String[]数组,为此我就想到了是否我把对象进行拆分,分别放入到2个不同的数组中,将要在下拉菜单中显示的内容放入一个string数组中,然后将id值放入到int数组中,然后这2个数据的添加是同步的,这样我再获得其combo box的我所选择的项的索引(PS:combo box的索引值排序方法和数组的游标指针的方式一样)来直接获取id所在的int数组中的值,这样就解决了这个问题!

以下附上代码:

1、在打开frame窗口时需要将从数据库中获取的集合放入到数组中:

	private void getCombobox() {

		List<UserFamily> ufs =ua.getUserFamily();
		boxmodelk = new int[ufs.size()];
		boxmodels = new String[ufs.size()];
		for (int i = 0; i < ufs.size(); i++) {
			UserFamily uf = new UserFamily();
			uf = ufs.get(i);
			boxmodelk[i] = uf.getFamilyid();
			boxmodels[i] = uf.getFamilyname();
		}
2、在initComponents()方法中修改其setModel()方法:

		userfamily.setModel(new javax.swing.DefaultComboBoxModel(boxmodels));

3、实现从combo box中获取想要的值:

		int userfamily = this.userfamily.getSelectedIndex();
		user.setUserfamily(boxmodelk[userfamily]);

这样就可以直接得到真实的ID值,就是在后期维护combo box的选项表时,也不会出错~

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值