JAVA窗口焦点与键盘

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class keytest extends JFrame
{
 Button button=new Button("begin");
 public keytest()
 {
  getContentPane().add(button);
  
  new button_adapter(this);
  //button.setEnabled(false);
  this.getContentPane().requestFocus();
  new key_adapter(this);
  setVisible(true);
  setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
 public static void main(String args[])
 {new keytest();}
 class key_adapter implements KeyListener
 {
  keytest k;
  public key_adapter(keytest k)
  {
   this.k=k;
   k.addKeyListener(this);
  
  }
  public void keyPressed(KeyEvent e){
     System.out.print(8);
   
    }
    public void keyTyped(KeyEvent e){ }
    public void keyReleased(KeyEvent e){ }
   }
   class button_adapter implements ActionListener
   {
    public button_adapter(keytest k)
    {
     k.button.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e)
    {
     System.out.print(9);
    }
   }

}

我十分想搞清楚的就是,在窗口添加一个按钮后,窗口就会失去焦点吗?

不然为什么键盘监听怎么不起作用?

我只要把那个按钮Disable掉。键盘监听又起作用了,

特别是写贪吃蛇时,只要我点“开始”,键盘监听就不起作用了,

我十分想搞明白,怎么再让键盘监听起作用?

如果那位高手了解,请为我解开迷惑,不胜感激。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值