java JWindow全屏窗口下 键盘监听

用JAVA来做游戏全屏窗口-JWindow怎么添加键盘监听,比如按下C键,显示人物属性...JFramefs=newJFrame();JWindowf=newJWindo... 用JAVA 来做游戏全屏窗口 - JWindow 怎么添加键盘监听, 比如按下C键 , 显示人物属性...

JFrame fs=new JFrame();
JWindow f=new JWindow(fs);

GraphicsDevice myDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode dm=myDevice.getDisplayMode();
int w=dm.getWidth();
int h=dm.getHeight();
f.setSize(w,h);
myDevice.setFullScreenWindow(f);
f.setLayout(null);
f.setVisible(true);

// == == 我的窗口代码如上 == 我不知道怎么添加键盘事件, this.addKeyListener(this); 这种事件在JWindow不起作用...
还有我发现这个JWindow窗口没有焦点一样, 点击屏幕按下键盘, 我发现焦点全在其它程序上, 比如"记事本"全都有我的按键....

怎么创建全屏窗口才有状态栏? 或者JWindow怎么才能监听到键盘事件??
class GO1 extends JWindow {
public static void main(String[] args)
{
new GO1();
}
JFrame fs=new JFrame();
JWindow f=new JWindow(fs);
JButton off=new JButton("off");

GO1(){

GraphicsDevice myDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode dm=myDevice.getDisplayMode();
int w=dm.getWidth();
int h=dm.getHeight();
f.setSize(w,h);
myDevice.setFullScreenWindow(f);
f.setLayout(null);
f.setVisible(true);

}//GO1

}
展开
 我来答
kslinabc
推荐于2016-04-04 · TA获得超过261个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:190万
展开全部
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener()
{
@Override
public void eventDispatched(AWTEvent event)
{
if(event instanceof KeyEvent)
{
KeyEvent ke=(KeyEvent)event;
if(ke.getID()==KeyEvent.KEY_RELEASED/*键盘按下后释放时触发*/&&ke.getKeyCode()==KeyEvent.VK_ESCAPE/*你的键值KeyEvent.XXX*/)
{
/差游/你的处理方法在这,JWindow的引用.怎么样?
}
}
else if(event instanceof MouseEvent)
{
MouseEvent me=(MouseEvent)event;
if(me.getID()==MouseEvent.MOUSE_RELEASED/*鼠标按下后释放时触发*/)
{
//你的处理方法在这
}
}
//好些呢,想监听啥就监听啥
}
}, AWTEvent.MOUSE_EVENT_MASK+AWTEvent.MOUSE_MOTION_EVENT_MASK+AWTEvent.MOUSE_WHEEL_EVENT_MASK+AWTEvent.KEY_EVENT_MASK);
如果你的窗口隐藏了,还喊庆纤想监听,那可能需要JNA库郑仿的支持
更多追问追答
追问
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener()

第一行往哪添加啊~??? 还是直接写上??? 我的代码 f = JWindow , f.add( Toolkit.... )???

错误: 无法将类 Toolkit中的方法 addAWTEventListener应用到给定类型;
追答
JWindow f=new JWindow(fs);
//你可以在这里加入我给你的代码
GraphicsDevice myDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式