- - PR -
全く訳が解りません。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-01-11 16:50
http://43.233.98.50:81/cobra/public_html/ieri/images/easy_draw3.java
上のソース、確かに クラス DrawArea でインターフェース MouseListener, MouseMotion Lister は有効なので同じクラス DrawArea で継承してある Canvas 上でマウスを押して 離せば、直線は描画される。が、しかし クラス easy_draw3 から クラス ControlPanel1, ControlPanel2 を呼び出して ボタンとチョイスアイテムの値が変わる度に、その変わった 値を DrawArea の描画ルーチンに渡してやりたい。しかし、easy_draw3 本体で インターフェース ActionListener, ItemListener を implements しているにも関わらず、 どうも、そのイベントが受け取れていない模様。 itemStateChanged() 並びに actionPerformed() でイベントが受け取れないので、線種も背景もペン色も変わらず、 かろうじて ControlPanel1() コンストラクタで代入した初期値 dtype = 0; (直線) だけが 描画されている。 なぜ、 easy_draw3 の ActionListener と ItemListener がうまく機能しないのが、 そこをお聞かせ願えませんか? | ||||
|
投稿日時: 2004-01-11 23:26
itemStateChanged(), actionPerformed() 双方ともに正しく呼び出されていますよ:-P
ただ、そこでセットした値を読み出せていないだけです。 オリジナルのソース(easy_draw.java)とよく見比べてはどうでしょうか。 | ||||
|
投稿日時: 2004-01-12 02:21
いや、どうもありがとうございます。> nil殿
もう一度、よく見直したところ、なんとか http://43.233.98.50:81/cobra/public_html/ieri/images/easy_draw5.java ここまで漕ぎ着ける事ができました。 ただ、まだちょっと動作がオカシイです。 まぁ、他の言語も同じですが、これはもう根気勝負ですわ。 | ||||
|
投稿日時: 2004-01-13 01:47
unibon と申します。
ソースコードの掲載を、掲示板の本文中にではなく、 Web サーバ上に置かれて、掲示板の本文中ではそれへのリンクだけを張られており、 それはおそらくコードが長いためそうされているのだろうと思いますが、 将来もずっとリンク先のコードは残される予定なのでしょうか。 将来、過去記事になったときにリンクが切れていると、 回答されたかたの投稿も意味が分からなくなり、かなりの部分がムダになってしまうので、 できればリンクが切れることがないようにしていただけるか、 あるいは、本文中にコードを書かれたほうがよろしいのではないかと思います。 もちろん、掲示板にあまりにも長いコードを書くことは難しかったり、 あるいは、リンク先を未来永劫に渡って保守することはできませんし、 掲示板の使い方はいろいろなやりかたがあり、 Web サーバ上にコードを置くのもそのひとつとしてあるとは思いますが、 回答されたかたの投稿が将来もムダにならないように できるだけご配慮していただけるとありがたいです。 | ||||
|
投稿日時: 2004-01-13 08:57
必要な部分のソースコードだけを抜粋するのが一番いいのでしょうけど、
それもなかなか難しいですからね。(問題部分の抜粋ができるのであれば 自ら解決できてしまうことも多いので) 過程は他サイトへの参照ありでも、問題解決後には トラブルの概要・ 解決方法・該当ソースコードの抜粋など質問者が再度サマリを 出してくれるといいかもしれないですね。 | ||||
|
投稿日時: 2004-01-13 12:11
元記事は要するに「デバッグしてくれ」ってことですよね。 質問者さんにとっても「自ら解決」できてしまうことが一番良いはずなので、 コードを削って実行してみるなり問題部分を抽出する努力をして、デバッグの能力を高めましょう。 そうでないと何時までたってもデバッグを人に頼ることになってしまいます。 問題部分を特定して、なお疑問であればこういう掲示板で質問するのはありだと思います。 もうひとつ、件名はもっと記事内容を表すものにしたほうがわかり良いと思います>コブラさん | ||||
|
投稿日時: 2004-11-09 22:14
なんか、たまにこの、中途半端なコード(easy_draw3.java)にアクセスしておられる方が
おるもんで・・・しかし、これは repaint() する度に前の描画が消えてしまいます (プ 一応、自分で納得できた(まだ課題はありますが)ソースの最終版が http://202.226.153.50/cobra/public_html/ieri/images/ngis7.java こちらにございますので、こちらの方が「まだ」参考になるかと。 実行結果: http://202.226.153.50/cobra/public_html/ieri/images/ngis7.html [ メッセージ編集済み 編集者: コブラ 編集日時 2004-11-11 12:38 ] |
1