Application中,想让Frame监听所有按键事件,但是addKeyListener后不好使,各位大侠帮忙分析分析 public void keyTyped(KeyEvent e)改为public void keyPressed(KeyEvent e)试一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还是没反应,我试着把KeyAdapter的三个函数都加上了// 安装消息响应函数 addKeyListener(new java.awt.event.KeyAdapter() { public void KeyTyped(KeyEvent e) { System.out.println("Key Typed"); } public void keyPressed(KeyEvent e) { System.out.println("Key Pressed"); if (e.getKeyCode() == KeyEvent.VK_ESCAPE) XModelToolBox.curXModelObject = null; } public void KeyReleased(KeyEvent e) { System.out.println("Key Released"); } });结果还是,不管我在哪个子窗体中按任何键都没有输出,怎么回事呢? 你是在Frame的构造函数中加的以上代码,如果不是的话,应该YourFrame.addKeyListener,查一下监听器是否添加到Frame上. 绝对肯定我的代码加在了MainFrame extends JFrame主窗口的构造函数中,为什么会这样? 试试这个代码吧!import java.awt.*;import java.awt.event.*;class Test extends Frame { public Test() { addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); System.exit(0); } }); addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(KeyEvent e) { System.out.println("Key Pressed"); if (e.getKeyCode() == KeyEvent.VK_ESCAPE) System.out.println("Key Pressed"); } }); } public static void main(String args[]) { Test mainFrame = new Test(); mainFrame.setSize(400, 400); mainFrame.setTitle("Test"); mainFrame.setVisible(true); }} 将这个:addKeyListener(new java.awt.event.KeyAdapter()...改为:getContentPane().addKeyListener(new java.awt.event.KeyAdapter()...试试看 to tsd3698(七夜) ,你试试在你的mainFrame中加个工具条,当光标停在工具条按钮上的时候键盘响应就失效了!虽然没有解决问题,但是谢谢各位,散分 swt tree获取treeitem值的问题 请教各位:Java中如何将主窗体中的一组数据在子窗体的中显示出来啊? jxl 操作excel 求助!! 如何成为一个优秀的JSP程序员 怎么样随机读取一个unicode文件或是,在一个普通的中英文 混合文件中,以空格为界随机读取。。。 关于JAVA画图里的repaint()的问题; 在APPLET中读取的文件及APPLET的JAR文件,是不是只有在第一次访问的时候读,其它时间从IE的缓存里读? 怎样获取有关程序应用比赛的信息? JDBC API类库的源码哪儿有(100分相赠) 大神帮助下 集思广益 请问各位一个巨简单的问题!
// 安装消息响应函数
addKeyListener(new java.awt.event.KeyAdapter()
{
public void KeyTyped(KeyEvent e)
{
System.out.println("Key Typed");
}
public void keyPressed(KeyEvent e)
{
System.out.println("Key Pressed");
if (e.getKeyCode() == KeyEvent.VK_ESCAPE)
XModelToolBox.curXModelObject = null;
}
public void KeyReleased(KeyEvent e)
{
System.out.println("Key Released");
}
});
结果还是,不管我在哪个子窗体中按任何键都没有输出,怎么回事呢?
import java.awt.event.*;class Test extends Frame {
public Test() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
System.out.println("Key Pressed");
if (e.getKeyCode() == KeyEvent.VK_ESCAPE)
System.out.println("Key Pressed");
}
});
} public static void main(String args[]) {
Test mainFrame = new Test();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Test");
mainFrame.setVisible(true);
}
}
addKeyListener(new java.awt.event.KeyAdapter()...改为:
getContentPane().addKeyListener(new java.awt.event.KeyAdapter()...试试看
虽然没有解决问题,但是谢谢各位,散分