我是靠谱客的博主 标致羊,最近开发中收集的这篇文章主要介绍使用可编辑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的时遇到的一个坑,编辑后如果JCombobox的焦点还在,则获取不到当前的编辑值。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复