java super.paint g_java – super.paintComponent(g)的问题

这是片段:

protected void paintComponent(final Graphics g) {

Runnable r=new Runnable() {

@Override

public void run() {

while(true) {

super.paintComponent(g); //

g.setColor(Color.red);

g.drawOval(x,y,width,height);

g.fillOval(x,y,width,height);

x++;

y++;

width++;

height++;

if(width==20)

break;

try {

Thread.sleep(100);

} catch(Exception exc) {

System.out.println(exc);

}

}

}

};

Thread moveIt=new Thread(r);

moveIt.start();

}

编译完整代码时会产生以下错误:

d:\UnderTest>javac mainClass.java

mainClass.java:18: cannot find symbol

super.paintComponent(g);

^

symbol: method paintComponent(Graphics)

location: class Object

1 error

为什么我会收到此错误?

如果这是我的完整代码:

import java.awt.*;

import javax.swing.*;

import java.lang.Thread;

class movingObjects extends JPanel {

int x=2,y=2,width=10,height=10;

@Override

protected void paintComponent(final Graphics g) {

Runnable r=new Runnable() {

@Override

public void run() {

while(true) {

super.paintComponent(g);

g.setColor(Color.red);

g.drawOval(x,y,width,height);

g.fillOval(x,y,width,height);

x++;

y++;

width++;

height++;

if(width==20)

break;

try {

Thread.sleep(100);

} catch(Exception exc) {

System.out.println(exc);

}

}

}

};

Thread moveIt=new Thread(r);

moveIt.start();

}

}

class mainClass {

mainClass() {

buildGUI();

}

public void buildGUI() {

JFrame fr=new JFrame("Moving Objects");

movingObjects mO=new movingObjects();

fr.add(mO);

fr.setVisible(true);

fr.setSize(400,400);

fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String args[]) {

new mainClass();

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值