关于PopupMenuListener的一些疑问
2010-01-08 16:41
155 查看
各位大师好:
小弟有一难处相求。
在关于JComboBox的更新数据处理的时候,我注册了这么个监听事件。
filterComboBox_.addPopupMenuListener(new PopupMenuListener() {
public void popupMenuCanceled(PopupMenuEvent e) {
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
}
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
for ( int i = 0; i < tmpList.size(); i++ ) {
ComConditionData tmp = tmpList.get(i);
filterComboBox_.addItem(tmp);
}//下拉框出现前更新数据
if ( filterComboBox_.getItemCount() > ComFilterConst.MAX_COUNT ) {
filterComboBox_.setMaximumRowCount(ComFilterConst.MAX_COUNT);
} else {
filterComboBox_.setMaximumRowCount(filterComboBox_.getItemCount());
}
filterComboBox_.repaint();
filterComboBox_.validate();
//刷新ComboBox
}
});
但是问题出来了。无论你怎么刷新,combobox总是保持前一次的状态,虽然数据更新了。但是碰上删除数据,combobox就会多一行空选项,但选不到。添加数据,combobox就是多一个scrollbar,但是再次点下拉菜单时就好了。我认为是画面刷新事件被数据更新事件堵塞了。但是无法找到问题的根本所在。
小弟有一难处相求。
在关于JComboBox的更新数据处理的时候,我注册了这么个监听事件。
filterComboBox_.addPopupMenuListener(new PopupMenuListener() {
public void popupMenuCanceled(PopupMenuEvent e) {
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
}
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
for ( int i = 0; i < tmpList.size(); i++ ) {
ComConditionData tmp = tmpList.get(i);
filterComboBox_.addItem(tmp);
}//下拉框出现前更新数据
if ( filterComboBox_.getItemCount() > ComFilterConst.MAX_COUNT ) {
filterComboBox_.setMaximumRowCount(ComFilterConst.MAX_COUNT);
} else {
filterComboBox_.setMaximumRowCount(filterComboBox_.getItemCount());
}
filterComboBox_.repaint();
filterComboBox_.validate();
//刷新ComboBox
}
});
但是问题出来了。无论你怎么刷新,combobox总是保持前一次的状态,虽然数据更新了。但是碰上删除数据,combobox就会多一行空选项,但选不到。添加数据,combobox就是多一个scrollbar,但是再次点下拉菜单时就好了。我认为是画面刷新事件被数据更新事件堵塞了。但是无法找到问题的根本所在。
相关文章推荐
- 关于C/C++中的数据对齐的一些疑问
- 关于push技术(long polling)和长连接keepalive的一些疑问
- 关于Storm的一些疑问解答
- 关于Scalability的一些思考与疑问
- 关于jdbc的一些疑问
- 关于辅域控制器夺取主域控制器角色,接替其工作时的一些疑问及回答
- c++ 关于对象浅复制的一些疑问,希望懂得大虾给我解释解释~~
- 关于windows环境下配置nginx的一些疑问
- 关于网络中tcp/ip的一些疑问
- 关于转行的一些疑问,求指教
- 关于三层架构的一些疑问
- 关于前端的一些疑问
- 关于xml命名空间的——xmlns:f="http://www.name.com.cn/sub",一些疑问
- 关于listener的一些理解
- 关于jdbc链接SQLServer数据库的一些疑问
- 关于strpos函数的一些疑问
- 关于在ADS环境下使用libc库函数的一些疑问
- 关于ARM 汇编的一些疑问