| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4732 人关注过本帖
标题:JPanel 可以addKeyListener吗
只看楼主 加入收藏
事过境迁
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-8-2
收藏
 问题点数:0 回复次数:10 
JPanel 可以addKeyListener吗
我写了一个程序
发现用 JPanel接受 键盘事件 没有反应
用JFrame怎正常
这是怎么回事
搜索更多相关主题的帖子: JPanel 键盘 JFrame 
2007-04-13 18:12
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
不可以
只有顶级窗口类才可以

比如JFrame,JDialog等

可惜不是你,陪我到最后
2007-04-13 18:42
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
呵呵,可以的~

My BlogClick Me
2007-04-13 18:44
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
JPanel也可以吗?

可惜不是你,陪我到最后
2007-04-13 18:45
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

当然了.


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
*在JPanel中监听键盘事件
*By [url=http://eastsun.javaeye.com]Eastsun[/url]
*/
public class KeyLis{
public static void main(String[] args){
JFrame frame =new JFrame(\"KeyLis\");
final JLabel label =new JLabel(\"key press: \");
JPanel panel =new JPanel();
panel.setPreferredSize(new Dimension(320,240));
panel.add(label);
panel.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
label.setText(\"key press:\"+e.getKeyChar());
}
});
panel.setFocusable(true);
frame.add(panel);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}


My BlogClick Me
2007-04-13 18:56
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
注意
panel.setFocusable(true);

这行代码.

My BlogClick Me
2007-04-13 18:57
食恶不色
Rank: 2
等 级:新手上路
威 望:3
帖 子:632
专家分:5
注 册:2006-11-8
收藏
得分:0 
panel.setFocusable(true);
是让panel得到焦点,可以触发事件,是吗?

做人要厚道,看帖要回帖!回帖是尊重,回帖是美德! 美德要发扬,我们要顶帖!顶帖是好事,千万莫灌水!
2007-04-14 11:07
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
没错~

My BlogClick Me
2007-04-14 12:21
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用Eastsun在2007-4-13 18:57:19的发言:
注意
panel.setFocusable(true);

这行代码.


可惜不是你,陪我到最后
2007-04-14 14:39
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
得分:0 
支持,真是厉害!

知识改变命运!!!
2007-04-14 15:45
快速回复:JPanel 可以addKeyListener吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033419 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved