- ベストアンサー
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) には静的にアクセスしてください。」 と、エラーがでます。 ですが、実行はできます。なぜ??
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
それは、「エラー」ではなく「警告」だからでしょ。 エラーは 「明らかにおかしいのでコンパイルはしません」 であり、警告は 「もしかしたら違うかもしれないので注意してください。一応コンパイルはしておきます。」 の意味があります。 警告が気になるようなら、 g.getColorOfName(g.AQUA) を、 Graphics.getColorOfName(g.AQUA)) と変えてください。
その他の回答 (2)
- pcbeginner
- ベストアンサー率46% (261/560)
補足 http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000162.html ↑とか読めばいいと思う。 「staticメソッドとは」 の検索結果 http://www.google.co.jp/search?hl=ja&q=static%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%A8%E3%81%AF&lr=
お礼
Javaは、始めたばかりで・・・ 適当な参考書も手元になく苦労してます。 良いサイトを教えて頂きありがとうございます。
- pcbeginner
- ベストアンサー率46% (261/560)
理由については staticメソッド とか、 オブジェクトのインスタンス とかってことをちゃんと調べればわかると思います。
補足
g.getColorOfNameをGraphics.getColorOfNameに、 g.AQUAをGraphics.AQUAにしたら、警告でなくなりました。 理由はわかりませんが、よかったです。 ありがとうございます。