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()这货不是重新绘制吗?是不是不能将定义图形和循环改变坐标放在一起? 如果是,怎样实现分开放? 展开
public void paint (Graphics g)
{
for(;;)
{
g.fillOval(x,0,50,50);
++x;
try
{
Thread.sleep(20);
}
catch (Exception e)
{
}
repaint();
}
}
这样为什么没有清除原有的图形? repaint()这货不是重新绘制吗?是不是不能将定义图形和循环改变坐标放在一起? 如果是,怎样实现分开放? 展开
展开全部
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();
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接口,所以不需要导入包。
下面的你自己调试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询