再开一贴,JPanel如何收到键盘事件

AYellow 2002-12-07 04:18:34
这个JPanel是用来画图的,上面没有任何有焦点的控件。
如何获得键盘事件?

panel.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
......
}
}
);
不行,处理方法根本不被调用

参考
http://expert.csdn.net/Expert/topic/1238/1238484.xml?temp=.617901
两贴一起结算
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gavin1976 2002-12-07
  • 打赏
  • 举报
回复
JPanel has more Methods inherited from class javax.swing.JComponent
so it has the Methods of requestFocus(),this will let the JPanel get the focus.
肖尧19 2002-12-07
  • 打赏
  • 举报
回复
一般JPanel都会被加到一个JFrame里面,所以建议给你的JFrame添加KeyAdapter
这个JFrame拥有JPanel的引用是很容易,同样可以对JPANEL进行各种操作
netwebs 2002-12-07
  • 打赏
  • 举报
回复
呵呵~~不好意思错了,我以为是panel监听button呢

或许楼上说的是对的
netwebs 2002-12-07
  • 打赏
  • 举报
回复
button.addKeyListener(JPanel panel)
用panel监听也不行?
yoyoxo 2002-12-07
  • 打赏
  • 举报
回复
在Swing里面,JPanel根本实现KeyListener接口,所以上面的方法是徒劳的。
要么换用其他的如JTextPane等组件,都可以画图。要么自己实现。
AYellow 2002-12-07
  • 打赏
  • 举报
回复
这个JPanel是用来画图的,上面没有任何有焦点的控件。
如何获得键盘事件?

panel.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
......
}
}
);
不行,处理方法根本不被调用

参考
http://expert.csdn.net/Expert/topic/1238/1238484.xml?temp=.617901
两贴一起结算

62,614

社区成员

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

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