回答編集履歴
2
誤記訂正
answer
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
|
26
26
|
(B) 同一のイベントハンドラーで複数のイベントをまとめてハンドリングしようとすること
|
27
27
|
|
28
|
-
Event#getSource()によりイベント発火元に応じた処理を切り分けるという手法は「同じような処理を複数のコンポーネントに対して同一のハンドラーでまとめて処理する」というような場合なら便利です。例えばオセロのようなもので、駒をそれぞれ独立したコンポーネントにしておき、それら全てのクリックイベントを同一のハンドラーで処理するような場合です。イベントソースからどの駒であるかはわかるので、その違いを
|
28
|
+
Event#getSource()によりイベント発火元に応じた処理を切り分けるという手法は「同じような処理を複数のコンポーネントに対して同一のハンドラーでまとめて処理する」というような場合なら便利です。例えばオセロのようなもので、駒をそれぞれ独立したコンポーネントにしておき、それら全てのクリックイベントを同一のハンドラーで処理するような場合です。イベントソースからどの駒であるかはわかるので、その違いを除き共通的なハンドリングを行いたくなることでしょう。
|
29
29
|
|
30
30
|
しかしながら本件ではボタンのクリック、timerの発火、timer2の発火のそれぞれはまったく違う処理ですので無理に一つのハンドラーで処理するのはかえって分かりにくくなると思います。たまたまだとは思いますがgetSource()を使ったために作りこまなくてよいバグを作ってしまったとも言えますし。
|
31
31
|
|
1
誤記訂正
answer
CHANGED
@@ -18,10 +18,10 @@
|
|
18
18
|
|
19
19
|
###対処
|
20
20
|
|
21
|
-
(A) timerを
|
21
|
+
(A) timerを何度も発火させる必要はない。=>ワンショットタイマーで充分。
|
22
22
|
この対策が本質的な対策だと思います。
|
23
23
|
|
24
|
-
しかし論理をわかりやすくするという意味で気になる点があるのでそちらも
|
24
|
+
しかし論理をわかりやすくするという意味で気になる点があるのでそちらも変更をお勧めします。
|
25
25
|
|
26
26
|
(B) 同一のイベントハンドラーで複数のイベントをまとめてハンドリングしようとすること
|
27
27
|
|