我写了一个小程序,一个主Frame,frame下有一个contentPane,contentPane里面有一个gamePanel(游戏区域)和一个Jpanel(这里面实现聊天功能)。gamePanel 继承JPanel
我想实现的是,鼠标点击gamePanel,则主frame获得焦点,我可以通过输入键盘的上下左右来控制游戏。鼠标点击JPanel里的textFiled,则键盘输入焦点转移给TextFiled。怎么实现呢?请指教!

解决方案 »

  1.   

    这个,确实是没太明白.
    如果你想改焦点,可以试试requestFocus();
      

  2.   

    我查过资料,说可以通过requestFocus()可以获得焦点,但我在frame的初始化函数里用this.requestFoucs()返回的是false。我再次使用gamePanel.requestFocus()返回也是false~~为什么?主窗口怎么获得焦点?
      

  3.   

    gamePanel不获取系统焦点就可以了,鼠标点击gamePanel是做一件事就是让Frame获取焦点。SwingUtilities.invokeLater(new Runnable(){
    public void run() {
    new JFrame().requestFocusInWindow();
    }        
    });