Graphics里怎么消除图像?键盘事件和别的事件怎么共存?
1.我定义了一个g.drawString("正在初始化游戏......", 7, 100);// void drawString(String str, int x, int y)
等待时间过后想吧这句话改成“初始化完毕” 怎么改啊?
有个clear 但是好像只能针对矩形
2.
我的游戏要求鼠标点击实现和键盘操作实现~~怎么同时加啊?我加了鼠标点击的ActionListener 再加KeyListener 键盘方面的一点反应都没有 也不报错 为什么啊?是有个优先级的问题吗?怎么解决啊?
[此贴子已经被作者于2007-5-11 23:21:38编辑过]
----------------解决方案--------------------------------------------------------
super.paint(g);清除画的图象
要不就在去掉的时刻 g.setColor(this.getBackground());
在g.drawString("正在初始化游戏......", 7, 100);
g.setColor(Color.black);
g.drawString();要变的字符串;
事件可以同时监听的没有先后优先级问题
implements ActionListener,MouseListener{
addMouseListener(this);
addActionListener(this);
+实现接口的方法
----------------解决方案--------------------------------------------------------
回复:(a276202460)super.paint(g);清除画的图象要不...
我除了那个String还有好多别的图像呢 super一下就全没了啊~
那个监听器还是不行
我看到有的游戏书上说加载一个com.brackeen.javagamebook.test.GameCore的包 让一个东西继承GameCore ,我加了 但是NetBeans说找不着
为什么 啊
----------------解决方案--------------------------------------------------------
1,你把所有的画图的动作定义在一个或者多个方法里面,然后调用super.paint或者super.paintComponent方法,就可以清除重新画,这个时候就可以把g.drawString里面的String换成你想要换的String了
2,鼠标点击对应的监听器是MouseListener,键盘对应的是KeyListener,如果你是给非顶级窗口类(JFrame,JDialog)注册KeyListener,那么你需要为那个组件调用如下方法setFocusable(true);这样它就可以获得焦点,也就可以监听键盘事件了
----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2007-5-12 9:02:22的发言:
1,你把所有的画图的动作定义在一个或者多个方法里面,然后调用super.paint或者super.paintComponent方法,就可以清除重新画,这个时候就可以把g.drawString里面的String换成你想要换的String了
2,鼠标点击对应的监听器是MouseListener,键盘对应的是KeyListener,如果你是给非顶级窗口类(JFrame,JDialog)注册KeyListener,那么你需要为那个组件调用如下方法setFocusable(true);这样它就可以获得焦点,也就可以监听键盘事件了
1,你把所有的画图的动作定义在一个或者多个方法里面,然后调用super.paint或者super.paintComponent方法,就可以清除重新画,这个时候就可以把g.drawString里面的String换成你想要换的String了
2,鼠标点击对应的监听器是MouseListener,键盘对应的是KeyListener,如果你是给非顶级窗口类(JFrame,JDialog)注册KeyListener,那么你需要为那个组件调用如下方法setFocusable(true);这样它就可以获得焦点,也就可以监听键盘事件了
1.我super.paint之后是不是之前所有画的东西都没了?都要重新画?
2.哪类叫做顶级窗口类?键盘事件是直接加在JFrame里吧?
----------------解决方案--------------------------------------------------------
把代码贴出来我给你改下 你就知道怎么用了:)
----------------解决方案--------------------------------------------------------
以下是引用y_l_y_在2007-5-13 19:48:58的发言:
1.我super.paint之后是不是之前所有画的东西都没了?都要重新画?
2.哪类叫做顶级窗口类?键盘事件是直接加在JFrame里吧?
1,是的
2,比如JFrame,Frame,JDialog等等直接生成窗口的
----------------解决方案--------------------------------------------------------
回复:(a276202460)把代码贴出来我给你改下 你就知道...
谢谢啊~~~我知道了~~~ ----------------解决方案--------------------------------------------------------
回复:(千里冰封)以下是引用y_l_y_在2007-5-13 19:4...
哦~~~谢谢啊~~~画图的问题解决了~
焦点的问题还要再琢磨琢磨~~~
----------------解决方案--------------------------------------------------------