のアダプタクラス 誰もが知っておくべき非常に興味深いトピックです。この記事では、次のトピックについて説明します。
アダプタクラスの概要
アダプタクラスは、リスナーインターフェイスの実装を提供します。すべてのメソッドのアダプタクラスの実装を継承する場合、必須ではありません。したがって、余分なコードを書くことは節約されます。
これらのアダプタクラスは、java.awt.event、java.awt.dnd、およびjavax.swing.eventパッケージにあります。対応するリスナーインターフェイスを持つ一般的なアダプタクラスのいくつかを以下に示します。
- java.awt.event
- java.awt.dnd
- javax.swing.event
java.awt.event
アダプタークラス | リスナーインターフェイス |
WindowAdapter | WindowListener |
KeyAdapter | KeyListener |
MouseAdapter | MouseListener |
MouseMotionAdapter | MouseMotionListener |
FocusAdapter | FocusListener |
ComponentAdapter | ComponentListener |
ContainerAdapter | ContainerListener |
HierarchyBoundsAdapter | HierarchyBoundsListener |
java.awt.dnd
アダプタークラス | リスナーインターフェイス |
DragSourceAdapter | DragSourceListener |
DragTargetAdapter | DragTargetListener |
javax.swing.event
アダプタークラス | リスナーインターフェイス |
MouseInputAdapter | MouseInputListener |
InternalFrameAdapter | InternalFrameListener |
Javaマウスアダプタ
importjava.awt。* importjava.awt.event。* public class MouseAdapterExample extends MouseAdapter {Frame f MouseAdapterExample(){f = new Frame( 'Mouse Adapter')f.addMouseListener(this)f.setSize(300,300)f。 setLayout(null)f.setVisible(true)} public void mouseClicked(MouseEvent e){Graphics g = f.getGraphics()g.setColor(Color.BLUE)g.fillOval(e.getX()、e.getY() 、30,30)} public static void main(String [] args){new MouseAdapterExample()}}
Java MouseMotionAdapter
importjava.awt。* importjava.awt.event。* public class MouseMotionAdapterExample extends MouseMotionAdapter {Frame f MouseMotionAdapterExample(){f = new Frame( 'Mouse Motion Adapter')f.addMouseMotionListener(this)f.setSize(300,300)f .setLayout(null)f.setVisible(true)} public void mouseDragged(MouseEvent e){Graphics g = f.getGraphics()g.setColor(Color.ORANGE)g.fillOval(e.getX()、e.getY( )、20,20)} public static void main(String [] args){new MouseMotionAdapterExample()}}
JavaKeyAdapterクラス
importjava.awt。* importjava.awt.event。* public class KeyAdapterExample extends KeyAdapter {Label l TextArea area Frame f KeyAdapterExample(){f = new Frame( 'Key Adapter')l = new Label()l.setBounds( 20,50,200,20)area = new TextArea()area.setBounds(20,80,300、300)area.addKeyListener(this)f.add(l)f.add(area)f.setSize(400,400)f.setLayout( null)f.setVisible(true)} public void keyReleased(KeyEvent e){String text = area.getText()String words [] = text.split( ' s')l.setText( 'Words:' + words。 length + '文字:' + text.length())} public static void main(String [] args){new KeyAdapterExample()}}
初心者のためのmysqlワークベンチチュートリアル
アダプタクラスの利点
これは、無関係のクラスが連携するのを支援し、複数の方法でクラスを使用する方法を提供します。クラスの透明性を高めることができます。アダプタクラスは、関連するパターンをクラス内に含める方法を提供します。ユーザーには、アプリケーションを開発するためのプラグ可能なキットのオプションが提供されます。 したがって、クラスの使用法は非常に再利用可能になります。
アダプターデザインパターン
アダプターデザインパターンは、2つの異なるインターフェイスが連携できるようにする構造デザインパターンです。アダプターパターンは、既存のコードを変更することなく、2つの互換性のないインターフェイスを互換性のあるものにすることができます。対応するインターフェースは互換性がない可能性がありますが、内部機能は要件に一致する必要があります。
アダプターパターンは、ソースコードを変更せずに、既存のクラスに合わせて作成されることがよくあります。さらに、単一のクラスを使用して、独立したインターフェイスまたは互換性のないインターフェイスの機能を結合します。アダプターパターンの別名はラッパーと呼ばれます。つまり、デコレーターデザインパターンと共有される代替名です。
このパターンは、クラスの互換性のないインターフェイスを、ターゲットにすぎないさまざまなインターフェイスに変換します。これは、クライアントが最終的に必要とするものです。アダプタパターンを使用すると、クラスを連携させることもできます。そうしないと、インターフェイスが連携して機能するのにほとんど互換性がなくなります。物事を展望するために、ラップトップとモバイルを持ってさまざまな国に頻繁に旅行する人を考えてみましょう。
さまざまな国で測定されたさまざまな電気ソケット、電圧、および周波数があり、それにより、ある国の任意のアプライアンスを使用して、別の国で互換性があります。英国では、230ボルトと50Hzの周波数のタイプGソケットが一般的に使用されています。
米国では、120ボルトと60Hzの周波数のタイプAとタイプBのソケットが使用されています。インドでは、230ボルトおよび50 HzのタイプC、タイプD、およびタイプMのソケットが使用されます。最後に、日本では、110ボルトと50Hzの周波数のタイプAとタイプBのソケットが使用されています。したがって、私たちが携行する機器は、さまざまな場所にある電気仕様と互換性がない可能性があると結論付けることができます。同様に、アダプタツールは、互換性のないコードを互換性のあるコードに変換できるため、不可欠です。
これで、Javaのこのアダプタクラスは終わりです。 チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。
質問がありますか?この「Javaのアダプタクラス」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。