当前位置: 代码迷 >> Java相关 >> Graphics里怎么消除图像?键盘事件和别的事件怎么共存?
  详细解决方案

Graphics里怎么消除图像?键盘事件和别的事件怎么共存?

热度:210   发布时间:2007-05-11 23:21:17.0
Graphics里怎么消除图像?键盘事件和别的事件怎么共存?
1.
我定义了一个g.drawString("正在初始化游戏......", 7, 100);// void drawString(String str, int x, int y)

等待时间过后想吧这句话改成“初始化完毕” 怎么改啊?

有个clear 但是好像只能针对矩形

2.
我的游戏要求鼠标点击实现和键盘操作实现~~怎么同时加啊?我加了鼠标点击的ActionListener 再加KeyListener 键盘方面的一点反应都没有 也不报错 为什么啊?是有个优先级的问题吗?怎么解决啊?



[此贴子已经被作者于2007-5-11 23:21:38编辑过]

搜索更多相关的解决方案: 消除  键盘  图像  Graphics  

----------------解决方案--------------------------------------------------------
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之后是不是之前所有画的东西都没了?都要重新画?
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...
哦~~~谢谢啊~~~
画图的问题解决了~

焦点的问题还要再琢磨琢磨~~~
----------------解决方案--------------------------------------------------------
  相关解决方案