你这样的想法不是很好实现的,在你输入JComboBox时这里就会成为焦点,键盘和鼠标的事件就会集中在这里。你想点击另外一个按钮就要先失去这个焦点。但是看你的反应父组件并没有接受导致失去焦点的事件。
个人见解:
如果你要实现这样的想法的话,应该要重写。重写焦点监听器,监听组件的焦点失去。重写父组件鼠标监听器,保留最近的一个鼠标事件的索引。一但监听到JComboBox失去了焦点,马上让父组件重新获得这个鼠标事件。
用一个变量 bCanClickButton,当JComboBox得到焦点时,设置成bCanClickButton=false;
JButton第1次点击时,bCanClickButton=true;并立即返回,不执行任何。再次点击时,再到相关的操作。
先给这个Button获得焦点,然后第一次点击应该可以的吧