2015-04-02 2 views
-2

мне нужно сделать петлю с paintComponentJava краска компонентов петли

Как это

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.

В для петли Java дает мне ошибку

g не может быть решена с переменной

Любой может помочь?

Спасибо!

+0

Вы можете разместить полный фрагмент кода, например, 'for' loop сам по себе ничего не значит, окружающий код, где присутствует в цикле' for', даст нам более четкое изображение. –

+0

Я опубликовал, это действительно маленький class – thevilcode

+0

Это просто метод paintComponent и цикл for – thevilcode

ответ

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 
    //} 
+0

Java дает мне ошибку – thevilcode

+0

«Исключение в потоке» AWT-EventQueue-0 «java.lang.StackOverflowError» – thevilcode

0

вы не можете назвать paintComponent(Graphics g), поэтому мы перекрасить() метод, и вы должны знать, что Графика является абстрактным классом, вы не можете создать экземпляр Это. еще одна вещь, я предполагаю, что вы пытаетесь сделать анимированный шар, чтобы иметь возможность сделать это, вы должны сначала прочитать о тайме качания. Я тоже изучаю java, так что продолжайте пытаться.

Смежные вопросы