我做一个dialog,上边有三个jcombobox(jcombobox1,jcombobox2,jcombobox3)和一个jtable。
要实现的是:打开dialog时,首先jcombobox1通过连接数据库,得到结果填充jcombobox1,
然后jcombobox2把jcombobox1中表示的内容作为参数连接数据库,得到结果填充jcombobox2,
接着jcombobox3把jcombobox2中表示的内容作为参数连接数据库,得到结果填充jcombobox3,
最后jtable把jcombobox3中表示的内容作为参数连接数据库,得到结果表示在jtable上。
jcombobox1,jcombobox2和jcombobox3中任何一个通过鼠标选择有变化,其他的组件上表示的内容都要变化。
下边是我的实现方法:
1,在dialog初始化时,调用下边的方法
public void init {
调用jcombobox1表示内容的设定方法
调用jcombobox2表示内容的设定方法
调用jcombobox3表示内容的设定方法
调用jtable表示内容的设定方法 jcombobox1.addItemListener(new ActionListener() {
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
调用jcombobox2表示内容的设定方法
调用jcombobox3表示内容的设定方法
调用jtable表示内容的设定方法
}
}
}); jcombobox2.addItemListener(new ActionListener() {
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
调用jcombobox3表示内容的设定方法
调用jtable表示内容的设定方法
}
}
}); jcombobox3.addItemListener(new ActionListener() {
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
调用jtable表示内容的设定方法
}
}
});}
jcombobox1和jcombobox2和jcombobox3的表示内容的设定方法中都是先清item,然后连接db,将db返回来
的结果设定到对应的jcombobox中。
上边就是我的实现方法,但是每次切换下拉菜单的时候各个控件中表示的内容却不对,不知道哪里出了
问题,请教各位,帮帮忙,谢谢了。
在线急等!!
要实现的是:打开dialog时,首先jcombobox1通过连接数据库,得到结果填充jcombobox1,
然后jcombobox2把jcombobox1中表示的内容作为参数连接数据库,得到结果填充jcombobox2,
接着jcombobox3把jcombobox2中表示的内容作为参数连接数据库,得到结果填充jcombobox3,
最后jtable把jcombobox3中表示的内容作为参数连接数据库,得到结果表示在jtable上。
jcombobox1,jcombobox2和jcombobox3中任何一个通过鼠标选择有变化,其他的组件上表示的内容都要变化。
下边是我的实现方法:
1,在dialog初始化时,调用下边的方法
public void init {
调用jcombobox1表示内容的设定方法
调用jcombobox2表示内容的设定方法
调用jcombobox3表示内容的设定方法
调用jtable表示内容的设定方法 jcombobox1.addItemListener(new ActionListener() {
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
调用jcombobox2表示内容的设定方法
调用jcombobox3表示内容的设定方法
调用jtable表示内容的设定方法
}
}
}); jcombobox2.addItemListener(new ActionListener() {
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
调用jcombobox3表示内容的设定方法
调用jtable表示内容的设定方法
}
}
}); jcombobox3.addItemListener(new ActionListener() {
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
调用jtable表示内容的设定方法
}
}
});}
jcombobox1和jcombobox2和jcombobox3的表示内容的设定方法中都是先清item,然后连接db,将db返回来
的结果设定到对应的jcombobox中。
上边就是我的实现方法,但是每次切换下拉菜单的时候各个控件中表示的内容却不对,不知道哪里出了
问题,请教各位,帮帮忙,谢谢了。
在线急等!!
这个jcombobox1.addItemListener(new ActionListener()应该改成
jcombobox1.addItemListener(new ItemListener()
这个不对吧,应该是上级影响下级,下级不影响上级.上级监听事件,通知下级的model
model得到通知后向从数据库读取数据,发生改变,通知view
jcombobox2.addItemListener(this);
...
public void itemStateChanged(ItemEvent ie) {
if (ie.getSource() == jcombobox1) {
int selected = jcombobox1.getSelectedIndex();//选择了哪个选项
...
}
}