1。第一个相关的事件为void jTable2_keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
if (this.jTable2.getRowCount() > 0) {
想在这里然它产生点一下鼠标的效果,就在选中的单位格上
。
}
}
}我把表的第3列做成了combobox,不点鼠标出不来,我想不用鼠标把它的侠拉列表显出来。(会有更专业的方法吧?)
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
if (this.jTable2.getRowCount() > 0) {
想在这里然它产生点一下鼠标的效果,就在选中的单位格上
。
}
}
}我把表的第3列做成了combobox,不点鼠标出不来,我想不用鼠标把它的侠拉列表显出来。(会有更专业的方法吧?)
switch(e.getKeyCode()){
case KeyEvent.VK_UP:
............
break;
case KeyEvent.VK_DOWN:
............
break;
case KeyEvent.VK_ENTER:
try {
do{
TransIterator ti=new TransIterator(new DataContainer(),this,trans);
ti.execute();
}while(trans.isLoop());
}
catch (ActionException ex) {
this.showMessage(ex.getMessage());
}
break;
default: }
} 上面的东西能运行
很长,我简略了。 enter 后能开出来一个Dialog,Dialog上也有一些功能,包括数据库的操作。
问题是我按enter键开出来几次Dialog(有好多,相似单不同)后,那个jTextField上的KeyEvent.VK_ENTER事件就失效了,
连jTextField1_keyReleased(KeyEvent e) 这个方法都进不了(switch,case处设断点,运行不到)。 而别的case是正常的,和原来功能一样,
case KeyEvent.VK_DOWN:
............
break;
case KeyEvent.VK_ENTER: 难道jTextField上的 KeyEvent.VK_ENTER 被吃了? 我也没在别的地方定义enter热键。也试过在frame得到焦点的事件上把
jTextField上的键盘事件去掉再添上。也不行。
应该是那一方面的问题呢?
各位高手,请帮帮忙!接了个烂摊子,自己水平有限。只有靠大家了,谢谢!!!
本来想另定义一个热键的,这样好,不用改变操作了,我去试试;
感谢duxu2004(渡虚)!
我用try catch, 把switch(e.getKeyCode())包住,e.printStackTrace(); 都打不出来什么异常!enter按下后,后面的代码很多,涉及好多类,怎么也不能不出半点不合适吧,可是能运行。
F2好特殊呀!我能把这个键的功能用别的键代替吗?
好不容易找到的,我真是菜鸟一个! 麻烦大家,
谢谢!谢谢!
分数太少了,参与者有分 AWTKeyStroke ks=AWTKeyStroke.getAWTKeyStroke(java.awt.event.KeyEvent.VK_ENTER,0);
Set ksSet=new HashSet();
ksSet.add(ks);
this.oldSet=KeyboardFocusManager.getCurrentKeyboardFocusManager().getDefaultFocusTraversalKeys(0);
KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalKeys(0,ksSet);这个贴子太长了,我先结贴,第一个问题还不知道那个神奇的F2是怎么回事。
我想弄个例子。发个新的。