[解決済み] JavaにおけるMouseListenerとMouseAdapterの違いについて
質問
以下の内容が理解できません。 違い の2つのインターフェイスの間にある。なぜMouseAdapterはMouseListenerのように実装できず、拡張しかできないのでしょうか?私はJavaにかなり新しいです。
で完結するアクションを実行したい場合を考えてみます。 どちらか の2つのインタフェースがあります。
また、どのような場合に一方を使用し、どのような場合に他方を使用するのが賢明なのでしょうか?
解決方法は?
<ブロッククオート2つのインターフェースの違いがよくわからないのですが。なぜMouseAdapterはMouseListenerのように実装できず、拡張しかできないのでしょうか?
MouseAdapter :
マウスイベントを受信するための抽象的なアダプタクラスです。このクラスのメソッドは空です。このクラスは、リスナーオブジェクトを作成するための便宜上存在します。 このクラスを拡張して MouseEvent(ドラッグイベントやモーションイベントを含む) あるいは MouseWheelEvent のリスナーを作成し、目的のイベント用のメソッドをオーバーライドします。
がない場合
MouseAdapter
を実装した場合
MouseListener
の場合,これらのインターフェイスのメソッドをすべて実装する必要があります.
mouseClicked(MouseEvent e)
mouseDragged(MouseEvent e)
mouseEntered(MouseEvent e)
mouseExited(MouseEvent e)
mouseMoved(MouseEvent e)
mousePressed(MouseEvent e)
mouseReleased(MouseEvent e)
mouseWheelMoved(MouseWheelEvent e)
どのような場合に一方を使用し、どのような場合に他方を使用するのが賢明なのでしょうか?
上記の8つのメソッドを実装する場合は、以下のように実装します。
MouseListener
. これら8つのメソッドのうち、一部のメソッドのみを実装したい場合は
MouseAdapter
を作成し、必要なメソッドのみをオーバーライドしてください。
例)1つのイベント(またはいくつかのイベント)だけを実装することに興味がある場合、例えば
mouseClicked(MouseEvent e)
イベントを使用するとよいでしょう。
MouseAdapter
. もし
MouseListener
この場合、他のメソッドに対して空白の実装を提供する必要があります。
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] Javaで拡張子なしのファイル名を取得する方法は?
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] ConcurrentHashMapとCollections.synchronizedMap(Map)の違いは何ですか?
-
[解決済み] JavaにおけるRunnableインターフェースとCallableインターフェースの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] maven. -source 1.5ではラムダ式がサポートされていません。
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] Mavenです。JARは空になります - 含有するためにマークされたコンテンツがありません
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] init-paramとcontext-param
-
[解決済み] JavaFX 同じパッケージ内なのに「場所が必要です。
-
[解決済み] x--やx++はここで何をするのですか?