| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 308 人关注过本帖
标题:Graphics里怎么消除图像?键盘事件和别的事件怎么共存?
收藏  订阅  推荐  打印 
y_l_y_
Rank: 2
等级:注册会员
帖子:76
积分:860
注册:2007-4-18
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  
2007-5-11 23:21
a276202460
Rank: 3Rank: 3
等级:中级会员
威望:4
帖子:389
积分:3998
注册:2007-4-10

super.paint(g);清除画的图象
要不就在去掉的时刻 g.setColor(this.getBackground());
在g.drawString("正在初始化游戏......", 7, 100);
g.setColor(Color.black);
g.drawString();要变的字符串;

事件可以同时监听的没有先后优先级问题
implements ActionListener,MouseListener{
addMouseListener(this);
addActionListener(this);
+实现接口的方法

2007-5-11 23:45
y_l_y_
Rank: 2
等级:注册会员
帖子:76
积分:860
注册:2007-4-18
回复:(a276202460)super.paint(g);清除画的图象要不...

我除了那个String还有好多别的图像呢 super一下就全没了啊~

那个监听器还是不行

我看到有的游戏书上说加载一个com.brackeen.javagamebook.test.GameCore的包 让一个东西继承GameCore ,我加了 但是NetBeans说找不着

为什么 啊


2007-5-12 00:23
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

1,你把所有的画图的动作定义在一个或者多个方法里面,然后调用super.paint或者super.paintComponent方法,就可以清除重新画,这个时候就可以把g.drawString里面的String换成你想要换的String了
2,鼠标点击对应的监听器是MouseListener,键盘对应的是KeyListener,如果你是给非顶级窗口类(JFrame,JDialog)注册KeyListener,那么你需要为那个组件调用如下方法setFocusable(true);这样它就可以获得焦点,也就可以监听键盘事件了

可惜不是你,陪我到最后
2007-5-12 09:02
y_l_y_
Rank: 2
等级:注册会员
帖子:76
积分:860
注册:2007-4-18

以下是引用千里冰封在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里吧?


2007-5-13 19:48
a276202460
Rank: 3Rank: 3
等级:中级会员
威望:4
帖子:389
积分:3998
注册:2007-4-10

把代码贴出来我给你改下 你就知道怎么用了:)

2007-5-13 22:44
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

以下是引用y_l_y_在2007-5-13 19:48:58的发言:

1.我super.paint之后是不是之前所有画的东西都没了?都要重新画?
2.哪类叫做顶级窗口类?键盘事件是直接加在JFrame里吧?

1,是的
2,比如JFrame,Frame,JDialog等等直接生成窗口的


可惜不是你,陪我到最后
2007-5-14 12:04
y_l_y_
Rank: 2
等级:注册会员
帖子:76
积分:860
注册:2007-4-18
回复:(a276202460)把代码贴出来我给你改下 你就知道...

谢谢啊~~~我知道了~~~

2007-5-22 19:07
y_l_y_
Rank: 2
等级:注册会员
帖子:76
积分:860
注册:2007-4-18
回复:(千里冰封)以下是引用y_l_y_在2007-5-13 19:4...

哦~~~谢谢啊~~~
画图的问题解决了~

焦点的问题还要再琢磨琢磨~~~

2007-5-22 19:07
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.076477 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved