java swing 下拉列表级联

现在第一个下拉列表只有一个选项其它选项看不到,求高手帮忙修改一下,第一个下拉列表选了XX系后,第二个下拉列表自动变成XX系的专业,第三个下拉列表是专业的班privatev... 现在第一个下拉列表只有一个选项其它选项看不到,求高手帮忙修改一下,第一个下拉列表选了XX系后,第二个下拉列表自动变成XX系的专业,第三个下拉列表是专业的班

private void initialData() {
try {
this.initialConnection();// 初始化数据库连接
// 查询数据库获得当前用户所属学院的名称
String sql1 = "select coll_name from college where coll_id='" + coll_id + "'";// 拼装SQL语句
rs = stmt.executeQuery(sql1);// 执行查询
while (rs.next()) {// 获得数据

String coll_name = new String(rs.getString(1).getBytes("gb2312"));// 对得到信息转码
jcb[4].addItem(coll_name);// 将名称添加进下拉列表
}
rs.close();// 关闭结果集

String sql2 = "select dept_name,dept_id from dept where coll_id='" + coll_id
+ "'";// 拼装SQL语句
rs = stmt.executeQuery(sql2);// 执行查询
while (rs.next()) {// 遍历结果集
String dept_name = new String(rs.getString(1).getBytes("gb2312"));// 转码
String dept_id = rs.getString(2);// 获得名称及id
map_dept.put(dept_name, dept_id);// 放入Map
}
rs.close();// 关闭结果集
Set keyset = map_dept.keySet();// 获得键值
Iterator ii = keyset.iterator();// 得到迭代器对象
int i = 0;
String initial_dept_name = null;// 声明initial_dept_name引用
while (ii.hasNext()) {// 遍历结果集
// 根据各个专业号获得该专业班的信息存入map_class
String dept_name = (String) ii.next();
if (i == 0) {
initial_dept_name = dept_name;
}
jcb[5].addItem(dept_name);// 添加班级名称进下拉列表
String dept_id = map_dept.get(dept_name);// 获得专业号

String sql3 = "select class_id,class_name from class where dept_id='"
+ dept_id + "'";// 拼装SQL语句
rs = stmt.executeQuery(sql3);// 执行查询
Map class_map = new HashMap();// 创建班级的Map对象
while (rs.next()) {// 遍历结果集
String class_id = rs.getString(1);// 得到班级id
String class_name = new String(rs.getString(2).getBytes("gb2312"));// 转码
class_map.put(class_name, class_id);// 放入Map集合

}
rs.close();// 关闭结果集
map_class.put(dept_id, class_map);
i++;// i自加
}
this.closeConn();// 关闭数据库连接
jcb[5].setSelectedItem(initial_dept_name);// 设置各下拉列表的初始值
String initial_dept_id = map_dept.get(initial_dept_name);
Map classmap = (HashMap) map_class.get(initial_dept_id);
Set keyset1 = classmap.keySet();// 得到键值集合
Iterator ii1 = keyset1.iterator();// 得到迭代器对象
while (ii1.hasNext()) {// 将班放入下拉列表
String s = (String) ii1.next();// 得到班级名称
jcb[6].addItem(s);// 将班级添加进下拉列表
}
}
展开
 我来答
281460530
2012-11-06
知道答主
回答量:9
采纳率:0%
帮助的人:6.4万
展开全部
给一个思路:在第一个下拉列表添加一个监听事件,内容changed了,触发查循,专业列表,班级列表同样是这样的!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式