标题: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-131674-1-1.html




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

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