- 締切済み
クリックによる画像変換
現在javaでプログラムが実行されると初期画像を表示し、フレーム内をクリックをするとクリックした場所に対応した画像に変わるプログラムを作っています。現在初期画像を表示させ、クリックした場所を判断させるところまではうまくできましたが、クリックをしてもプログラムは正しく実行しているにもかかわらず画像が変わりません。どのようにすれば画像が変わるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#49664
回答No.1
具体的にどのような処理をしているのかがわからないので、なんともへんじしにくいのですが・・・。 フレームと書いてあるということは、java.awt.Frameかjavax.swing.JFrameを使っているわけでしょうか。クリックした場所を判断させるのはできている、ということは、推測するにMouseListenerを組み込んで位置情報を取得するところまでは完成している、ということでしょう。 となると、画像を変更し表示するのをどのようにやっているかですね。もし、MouseListener内のメソッドで描画を何とかしようとしているのであれば、方法が間違っています。Javaでは、画面への表示はpaint(あるいはpaintComponent)をオーバーライドして行います。あらかじめ表示するイメージに関する値を保管するフィールドなどを用意しておき、 ・MouseListenerのメソッドで、表示するイメージに関する値をフィールドに設定する。 ・repaintを呼び出す。 ・paint(またはpaintComponent)メソッドで、フィールドの値を元に必要なイメージを描画する。 このような手順で描画をすることになると思います。