アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://plaza.rakuten.co.jp/kakuekiteisha5/のプログラムをコンパイルしようとすると、
DrawMainColorChangable.java:93: ここにインタフェースが必要です。
class ColorListener implements ChangeListener{
^
DrawMainColorChangable.java:134: addChangeListener(javax.swing.event.ChangeListe
ner) (javax.swing.colorchooser.ColorSelectionModel 内) を (ColorListener) に適用
できません
csm.addChangeListener(cl);
^
エラー 2 個
とエラーが表示されます。
なぜエラーになるのでしょうか。よろしくお願いします。

A 回答 (3件)

掲出のURL(のプログラム)見ていませんが、java:93、java:134を検索してみましたか?(キャッシュで見ると「黄色」わかりやすいです)例えば後者はサイズが大きすぎるとか。

    • good
    • 0

多分 ChangeListener というインターフェースが見えていないんじゃないかな.


このインターフェースはパッケージ javax.swing.event 中にあるはずなので, 最初の import がおかしかったりしませんか?

この回答への補足

ご回答ありがとうございます。
言われたとおりimportのところを少し直して
http://plaza.rakuten.co.jp/kakuekiteisha5/にあるようにしました。
これだと、コンパイルは通りましたが、
実行すると、
Exception in thread "main" java.lang.NullPointerException
at ColorListener.stateChanged(DrawMainColorChangable.java:99)
at javax.swing.colorchooser.DefaultColorSelectionModel.fireStateChanged(
Unknown Source)
at javax.swing.colorchooser.DefaultColorSelectionModel.setSelectedColor(
Unknown Source)
at javax.swing.JColorChooser.setColor(Unknown Source)
at DrawMainColorChangable.main(DrawMainColorChangable.java:136)
と例外が出ます。
原因が全く分からないのでどなたかよろしくお願いします。

補足日時:2009/06/21 12:48
    • good
    • 0

main()メソッドで定義しているdaという変数ですが、変数を定義しているけど、オブジェクトを生成していないので、中身が空(null)です。



中身がないモノを使ってcl(ColorListener)を生成して、dcsmのリスナーに設定。その後、dscmを使ってjccを生成し、jcc.setColor()メソッドを呼んでますが、この時にColorListenerクラスstateChanged()も呼ばれてます。

ところが、ColorListenerのdrawApplicationという変数は、オブジェクトを生成するときに引数で指定されたdaをコピーしてるので空(null)です。なのに、jColorChooser.getColor()というメソッドが呼ぼうとしたため、NullPointerExceptionが発生しています。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。解決しました。

お礼日時:2009/11/12 22:37

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