Java绘制组件循环

时间:2015-04-02 10:59:18

标签: java for-loop paintcomponent

我需要使用paintComponent

进行循环

喜欢这个

 public class Screen extends JComponent
 {

    public void paintComponent(Graphics g)
    {
        Graphics2D g2d = (Graphics2D) g;
        g.fillOval(Main.x, Main.y, 20, 20);

    }
    {
    for(int c = 0; c<10; c++)
    {

        paintComponent(g);
    }

  }

这些方法属于扩展JComponent的类。

在for循环中,java给出了一个错误

g无法解析为变量

任何人都可以提供帮助吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您的循环未包含在块或方法中:

public void paintComponent(Graphics g)
    {
        Graphics2D g2d = (Graphics2D) g;
        g.fillOval(Main.x, Main.y, 20, 20);

    }// method closed here itself

    //{
    //for(int c = 0; c<10; c++)
    //{
        //paintComponent(g);//here `g` is not declared
    //}

答案 1 :(得分:0)

你不能调用paintComponent(Graphics g)这就是为什么我们有repaint()方法你应该知道Graphics是一个你无法创建的抽象类 它的实例。 另一件事我假设你试图让一个动画球能够做到这一点你应该首先阅读关于挥杆计时器。我也在学习java,所以继续尝试。