| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:[求助]图形移动问题
取消只看楼主 加入收藏
bhbh113
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:4 
[求助]图形移动问题


我的本意是写个测试程序,程序结果显示屏幕上出现一个移动的小黑格子,结果小黑格经过的地方都出现了黑色(参见我上传的图片)。程序代码如下,请教高手为什么会出现这种情况。

import java.awt.*;

class move1 extends Frame{
int locationX=20,locationY=20; //方块的其始坐标

Canvas mycanvas=new Canvas();

move1(){ //构造函数
this.add(mycanvas);
this.setSize(300,300);
this.setVisible(true);
}
public void paint(Graphics g){ //绘图并使之移动
g=mycanvas.getGraphics();
g.setColor(Color.black);
g.fillRect(locationX++,locationY++,10,10);
try
{
Thread.sleep(100);
}
catch(InterruptedException e){}
repaint();
}

public static void main (String[] args) {
new move1();
}
}


搜索更多相关主题的帖子: 图形 
2007-06-18 18:22
bhbh113
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-22
收藏
得分:0 
汗……图片超过512K不能上传。有心帮忙的朋友请自己编译一下代码就可以看见我描述的现象了。

2007-06-18 18:28
bhbh113
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-22
收藏
得分:0 
以下是引用千里冰封在2007-6-18 18:24:46的发言:

首先你的代码就不太好,哪有在paint里面调用repaint的,那岂不是无限循环,永远返回不了

你应该起个线程去repaint

另外,你不想看到那个黑点,你就在paint方法最开始调用super.paint(g);

不过,不推荐在JFrame里面直接画,最好是在JPanel上画,然后重写paintComponent方法

另外,你不想看到那个黑点,你就在paint方法最开始调用super.paint(g);
受教了。不过不大明白这话。


2007-06-18 18:33
bhbh113
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-22
收藏
得分:0 

longrm是谁不知道,但这家伙不仅问问题的方式和我差不多,连写的程序都差不多,长见识了.


2007-06-20 14:51
bhbh113
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-22
收藏
得分:0 
恩恩,看了你的回答,很不错.

2007-06-20 14:53
快速回复:[求助]图形移动问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022660 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved