java中让按钮响应回车键

w2020520 2009-06-04 11:15:32
想让点击按钮或敲回车键时都响应loginEvent();按下面这样写不行么?怎么没反应,而且我把ActionListener改成MouseListener来实现,鼠标点击都是好的,但是回车键都是没反应。
jButton1.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent ke)
{
if (ke.getKeyChar() == KeyEvent.VK_ENTER)
{
loginEvent();
}
}
});

jButton1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
loginEvent();
}
});

另外,如果用getRootPane().setDefaultButton(jButton1);好像也有问题,我的界面上有2个button,我按完另一个按钮(jButton2)会弹出个frame,关掉弹出的frame回到这个界面时,我按回车,它就默认为jButton2了,是不是一定要加jButton2.setDefaultCapable(false);
...全文
799 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenq0917 2009-06-04
  • 打赏
  • 举报
回复
function addEvent (el, event, listener) {
if (el.addEventListener){
el.addEventListener(event, listener, false);
} else if (el.attachEvent){
el.attachEvent('on' + event, listener);
}
};

addEvent (jButton1, "keydown", function (e) {
var e = e || window.event;
if (13 == e.keyCode) {
loginEvent();
}
});


这样应该可以的,我都一直在用
dixiasenlin 2009-06-04
  • 打赏
  • 举报
回复
支持一下
yuzhangchen 2009-06-04
  • 打赏
  • 举报
回复
jButton1.requestFocus();
lasfrost 2009-06-04
  • 打赏
  • 举报
回复
requestFocus()方法要在组件显示之后调用才有效
爱萨萨 2009-06-04
  • 打赏
  • 举报
回复
飘~
lasfrost 2009-06-04
  • 打赏
  • 举报
回复
只有获得焦点的组件才能响应键盘事件,哎,我也为这方面的问题犯愁呢
w2020520 2009-06-04
  • 打赏
  • 举报
回复
我刚试了下,在jButton2里加了jButton2.setDefaultCapable(false);在jButton1处也加了jButton1.requestFocus()也没用。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧