现在是这样的 我建了一个Frame 在里面加了一个button
在button上加了一个addkeyListener监听事件 我发现用
getKeyText方法获取后 空格和回车没问题 但是比如 shift或者ctrl键的时候
控制台上就显示 Unknown keyCode: 0xffff...17
这种 表示它不认 请问 这是什么原因 {:soso_e114:}
代码如下
- import java.awt.Button;
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- public class AwtDemo4 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- new myWin222();
- }
- }
- class myWin222{
- private Frame f;
- private Button b;
- myWin222(){
-
- fun();
-
-
- }
- //窗口
- public void fun(){
- f=new Frame("my awt2");
- f.setBounds(100, 200, 300, 400);
- b =new Button("my button");
- f.setLayout(new FlowLayout());
- f.add(b);
- f.setVisible(true);
- myEvent();
- }
- private void myEvent(){
-
- f.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent we){
-
- System.exit(0);//退出
- }
-
- });
-
- b.addKeyListener(new KeyAdapter() {
-
- public void keyPressed(KeyEvent e){//按下键盘的时候
-
- System.out.println(e.getKeyText(e.getKeyChar())+"..."+e.getKeyCode());
-
- }
-
- });
-
- }
-
-
- }
复制代码
|