java中普通的类能实现 KeyListener接口吗

程序猿厨子 2017-07-19 10:56:29
只有组件类的对象才能注册监听器吗??普通类能addKetlistener()吗?
急!在线等~~~
...全文
294 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序猿厨子 2017-07-20
  • 打赏
  • 举报
回复
啥意思啊?没怎么用过swing,这里想处理键盘监听事件能实现吗
110成成 2017-07-20
  • 打赏
  • 举报
回复
引用 2 楼 m0_38115492 的回复:
那再斗胆问个问题
import java.awt.Component;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Scanner;

public class B extends Component {

public static void main(String[] args) {
	B b = new B();
	b.addKeyListener(new KeyAdapter() {
		 public void keyPressed(KeyEvent e)
         {
             if(e.getKeyCode()==KeyEvent.VK_ESCAPE)
                System.exit(0);
             //组合键
             else if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
                System.exit(0);
         else System.out.println(e.getKeyChar()+"..."+KeyEvent.getKeyText(e.getKeyCode()));
         }
	});
	
}

}
这里我随便按个字母都没反应呢
 keyPressed 首先要获取焦点,一般都是针对Swing.
程序猿厨子 2017-07-20
  • 打赏
  • 举报
回复
那再斗胆问个问题
import java.awt.Component;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Scanner;

public class B extends Component {

public static void main(String[] args) {
	B b = new B();
	b.addKeyListener(new KeyAdapter() {
		 public void keyPressed(KeyEvent e)
         {
             if(e.getKeyCode()==KeyEvent.VK_ESCAPE)
                System.exit(0);
             //组合键
             else if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
                System.exit(0);
         else System.out.println(e.getKeyChar()+"..."+KeyEvent.getKeyText(e.getKeyCode()));
         }
	});
	
}

}
这里我随便按个字母都没反应呢
soton_dolphin 2017-07-19
  • 打赏
  • 举报
回复
只要继承自java.awt.Component 都可以用这个方法

62,615

社区成员

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

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