我是靠谱客的博主 标致羊,这篇文章主要介绍使用可编辑JComboBox的时遇到的一个坑,编辑后如果JCombobox的焦点还在,则获取不到当前的编辑值。,现在分享给大家,希望可以做个参考。

界面上只有一个JComboBox和一个JButton,点击JButton打印JComboBox的当前值。

假如JButton的focusable设置为false,即不能获取焦点。

那么当编辑JComboBox的值以后,点击JButton打印cmb.getSelectedItem().toString(),不是当前JComboBox编辑框内的值,而是上次的选择项的值。

就是说对JComboBox进行编辑后,必须等JComboBox失去焦点,当前的编辑值被“提交”以后才能使用getSelectedItem获取到。


需要注意的时,在JButton 的点击响应函数中使用 other.requestFocusInWindows()也是没用的。

这里的内部机制顺序还没有搞清楚。总之是一个经验教训,可编辑JComboBox和JButton配合时,JButton需要注意Focusable属性!

最后

以上就是标致羊最近收集整理的关于使用可编辑JComboBox的时遇到的一个坑,编辑后如果JCombobox的焦点还在,则获取不到当前的编辑值。的全部内容,更多相关使用可编辑JComboBox内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(117)

评论列表共有 0 条评论

立即
投稿
返回
顶部