Java Swing应用程序 JComboBox下拉框联动查询
在web项目中,通过下拉框、JQuery和ajax可以实现下拉框联动查询。
譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉框县乡> 街道:<街道下拉框> 查询
譬如说,你选择了省:江苏省,那么在市区中只会显示江苏省的市区
譬如:(网上的图)
具体详细实现可以参考,写得挺好的:http://blog.csdn.net/sinat_24491773/article/details/50810471
那么在swing窗体怎么实现联动查询呢?
其实也很简单,想想web方面的实现过程,无非是在第一个省份的下拉框选择之后,设置监听事件,然后使用ajax去得到后边下拉框的数据,然后更新之即可
那么基于这么想法,swing不就也可以了么?
1.jcombobox设置添加ItemListener事件;
2.重写ItemListener的itemStateChanged方法;
3.清空后续下拉框的原始数据;
4.重新设置后续下拉框的原始数据。
代码如下:
jcb_college.addItemListener(new ItemListener() {//为college下拉框设置监听器 @Override public void itemStateChanged(ItemEvent e) { jcb_grade.removeAllItems();//清除该下拉框的原始数据, jcb_grade.setModel(new DefaultComboBoxModel<>(getField(ConstantData.Grade)));//获得新的数据 jcb_class.removeAllItems(); jcb_class.setModel(new DefaultComboBoxModel<>(getField(ConstantData.Class))); } });
上述代中的getField()方法就是从数据库中获取选择的college下的年级和班级
伪代码如下:
1.获取college下拉框选择的数据; selected = jcb_college.getSelect(); 2.从数据库中获得selected的college所有的年级 select grade from grade where college == selected;
引用上述bolg中博主的总结:其实都一样,自己做出来的还是很开心的。
本文原创作者:古道瘦西风,转载请注明原文链接:https://www.cnblogs.com/kingkangstudy/p/6722452.html