dポイントプレゼントキャンペーン実施中!

今日は、javaを勉強している初心者です。
以下のコードを書いてやりましたが、「sleep(Graphics)は引数()に適用できません」、「Color.Whiteを解決できません」とエラーがでます、エラーの意味が分かりません。
一体何処が間違っているのでしょうか、宜しくお願いします。

=====================================================================

public class ani_Moving_Ball extends Applet
{
int x;

public void paint(Graphics g)
{
for(x=0 ; x<180 ; ++x)
{
clear(g);
g.drawOval(x,90,19,19);
sleep();
}
}

public void clear(Graphics g)
{
g.setColor(Color.White);
g.fillRect(0,80,200,40);
g.setColor(Color.Black);
}

public void sleep(Graphics g)
{
double s=0.0;
for (int j=1 ; j<100 ; ++j)
{
for (int k=1 ; k<100 ; ++k)
{
s =+ Math.sin((double)j);
}
}
}
}

A 回答 (1件)

>「sleep(Graphics)は引数()に適用できません」



あなたの定義したメソッドは、引数を取るsleep(g)ですよね。
だから呼び出すときもsleep()じゃなくて、sleep(g)と書いて、引数を渡さないといけないわけですよ。

>Color.Whiteを解決できません」

Color.WHITEかColor.whiteが正しいですね。
    • good
    • 0
この回答へのお礼

ansariga10さん、レス有り難う御座います。
ところで更に質問なのですが、
================================================
public void paint(Graphics g)
{
for(x=0 ; x<180 ; ++x)
{
clear(g);
g.drawOval(x,90,19,19);
sleep(g);
=================================================
clear(g);の意味が理解出来ません、と言うのはpaint()は呼び出されるときには、必ず今の絵を消して描くのではないでしょうか。
因みにclear(g);をコメントにすると円が連続します。

paint()で線を描くと、mouseActionListenerでEventをとって描くと
必ず最初に描いた線は消えて、新しい線だけが残るのですが。
この場合は何故連続したボールになるのでしょう。

 よろしくお願いします。

お礼日時:2009/08/30 23:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!