• ベストアンサー

iアプリ 色変更

初歩的質問ですが・・・ import com.nttdocomo.ui.*; public class TEST01 extends IApplication { public void start(){ MyCanvas mc = new MyCanvas(); Display.setCurrent(mc); } } class MyCanvas extends Canvas{ public void paint(Graphics g){ g.setColor(g.getColorOfName(g.AQUA)); g.fillRect(0,0,200,200); } } で、g.setColor(g.getColorOfName(g.AQUA))の部分で、 「 Graphics からの static メソッド getColorOfName(int) には静的にアクセスしてください。」 と、エラーがでます。 ですが、実行はできます。なぜ??

質問者が選んだベストアンサー

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

それは、「エラー」ではなく「警告」だからでしょ。 エラーは 「明らかにおかしいのでコンパイルはしません」 であり、警告は 「もしかしたら違うかもしれないので注意してください。一応コンパイルはしておきます。」 の意味があります。 警告が気になるようなら、 g.getColorOfName(g.AQUA) を、 Graphics.getColorOfName(g.AQUA)) と変えてください。

situmonnsya
質問者

補足

g.getColorOfNameをGraphics.getColorOfNameに、 g.AQUAをGraphics.AQUAにしたら、警告でなくなりました。 理由はわかりませんが、よかったです。 ありがとうございます。

その他の回答 (2)

回答No.3
参考URL:
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000162.html
situmonnsya
質問者

お礼

Javaは、始めたばかりで・・・ 適当な参考書も手元になく苦労してます。 良いサイトを教えて頂きありがとうございます。

回答No.2

理由については staticメソッド とか、 オブジェクトのインスタンス とかってことをちゃんと調べればわかると思います。

関連するQ&A