java Graphics清除原有图形

intx=0;publicvoidpaint(Graphicsg){for(;;){g.fillOval(x,0,50,50);++x;try{Thread.sleep(... int x=0;
public void paint (Graphics g)
{
for(;;)
{
g.fillOval(x,0,50,50);
++x;
try
{
Thread.sleep(20);
}
catch (Exception e)
{
}
repaint();
}
}
这样为什么没有清除原有的图形? repaint()这货不是重新绘制吗?是不是不能将定义图形和循环改变坐标放在一起? 如果是,怎样实现分开放?
展开
 我来答
呆死了home
推荐于2016-08-29 · 超过19用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:48.9万
展开全部
int x = 0;
public void paint(Graphics g) {
g.fillOval(x, 0, 50, 50);
}

private class MThread extends Thread {
public void run() {
try {
Thread.sleep(20);
x++;
repaint();
} catch(Exception e) {}
}
}

在构造函数中写:

new MThread().start();
追问
Thread 这个类是什么意思?
在这里用 run 不需要加 implemenst Runnable 吗?
下面那个是这么写吗?
public 创建图形的那个函数名
{
new 函数名().start; 这句前面能理解 给这货分配内存 但后面用语言怎么描述呢?
}
追答
Thread类是线程类,这个类实现了Runnable接口,所以不需要导入包。
下面的你自己调试。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式