• 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中博主的总结:其实都一样,自己做出来的还是很开心的。

  • 相关阅读:
    Java练习 SDUT-1117_求绝对值(选择结构)
    Java练习 SDUT-2561_九九乘法表
    Java练习 SDUT-1160_某年某月的天数
    HDU-1024_Max Sum Plus Plus
    博客园页面DIY
    JDBC
    JavaSE | Lambda| Optional| Stream API
    JavaSE| 网络编程
    JavaSE| 反射
    JavaSE | IO流
  • 原文地址:https://www.cnblogs.com/kingkangstudy/p/6722452.html
Copyright © 2020-2023  润新知