作者yeahhey (神秘人)
看板java
标题[J2SE] KEY FOCUS
时间Tue Jun 28 17:22:00 2011
在menu时还可以用key来控制选单
进入某个选项要执行GamePanel时
GamePanel却要先切换视窗到别的地方
再切回来才能让我用key控制
爬文大部分人都说是focus问题
可是我试着自己去抓focus还是不成功
希望有高手能帮忙一下
感觉是观念错了...
另外 if那一句话在执行时
compile会出现下列文字:
Exception in thread "main" java.lang.NullPointerException at if的那一行
public static void main(String[] args)
{
Menu menu = new Menu();
frame.add( menu , BorderLayout.CENTER );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(new Dimension(window_width, window_height));
frame.setVisible(true);
while(true)
{
if( menu.getflag() )
{
frame.remove( menu );
menu = null;
System.gc();
GamePanel game = new GamePanel();
game.requestFocusInWindow();
game.grabFocus() ;
game.requestFocus();
frame.add(game,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(window_width, window_height));
frame.setVisible(true);
}
}
}
GamePanel的constructor
public GamePanel(Key key)
{
loadImage( imgname , bf );// 读取图片
this.setFocusable(true); // 取得焦点, 否则KeyListener会无作用
addKeyListener(new GameInput()); // Add it to the JPanel
setdirect(key);
new Thread(this).start();
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.122.153
※ 编辑: yeahhey 来自: 140.113.122.153 (06/28 17:28)
1F:→ yeahhey:以解决 = = 06/28 19:28