Java에서 어댑터 클래스를 구현하는 방법



이 기사는 예제와 함께 Java의 다양한 유형의 어댑터 클래스에 대한 상세하고 포괄적 인 지식을 제공합니다.

어댑터 클래스 모두가 알아야 할 매우 흥미로운 주제입니다. 이 기사에서는 다음 주제에 대해 설명합니다.

어댑터 클래스 소개

어댑터 클래스는 리스너 인터페이스의 구현을 제공합니다. 모든 메소드에 대한 어댑터 클래스 구현을 상속 할 때 필수는 아닙니다. 따라서 과도한 코드 작성이 저장됩니다.





이러한 어댑터 클래스는 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

자바 마우스 어댑터

import java.awt. * import java.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 ()}}

자바의 마우스 어댑터 클래스



자바 MouseMotionAdapter

import java.awt. * import java.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) {그래픽 g = f.getGraphics () g.setColor (Color.ORANGE) g.fillOval (e.getX (), e.getY ( ), 20,20)} public static void main (String [] args) {new MouseMotionAdapterExample ()}}

Java KeyAdapter 클래스

import java.awt. * import java.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 ()}}

어댑터 클래스의 장점

관련없는 클래스가 함께 작동하도록 돕고 여러 가지 방법으로 클래스를 사용하는 방법을 제공합니다. 수업의 투명성을 높일 수 있습니다. 어댑터 클래스는 클래스 내부에 관련 패턴을 포함하는 방법을 제공합니다. 사용자에게는 애플리케이션 개발을위한 플러그 형 키트 옵션이 제공됩니다. 따라서 클래스 사용은 재사용 가능성이 높아집니다.

어댑터 디자인 패턴

어댑터 디자인 패턴은 두 개의 다른 인터페이스가 함께 작동 할 수 있도록하는 구조적 디자인 패턴입니다. 어댑터 패턴을 사용하면 기존 코드를 변경하지 않고도 호환되지 않는 두 인터페이스를 호환 할 수 있습니다. 해당 인터페이스가 호환되지 않을 수 있지만 내부 기능이 요구 사항과 일치해야합니다.

어댑터 패턴은 소스 코드를 수정하지 않고 기존 클래스에 맞게 만들어지는 경우가 많습니다. 또한 단일 클래스를 사용하여 독립적이거나 호환되지 않는 인터페이스의 기능을 결합합니다. 어댑터 패턴의 또 다른 이름은 래퍼로 알려져 있습니다. 즉, 데코레이터 디자인 패턴과 공유되는 대체 이름입니다.

이 패턴은 또한 클래스의 호환되지 않는 인터페이스를 대상에 불과한 다른 인터페이스로 변환합니다. 이것은 결국 클라이언트가 요구하는 것입니다. 어댑터 패턴은 또한 클래스가 함께 작동하도록합니다. 그렇지 않으면 인터페이스가 함께 작동하는 것이 거의 호환되지 않습니다. 상황을 파악하기 위해 노트북과 모바일을 가지고 다른 나라를 자주 여행하는 사람을 생각해보십시오.

다른 국가에서 측정 된 다른 전기 소켓, 전압 및 주파수가 있으며, 이는 한 국가의 모든 기기를 다른 국가에서 호환되도록 사용합니다. 영국에서는 230 볼트 및 50Hz 주파수의 G 형 소켓이 일반적으로 사용됩니다.

미국에서는 120 볼트 및 60Hz 주파수의 A 형 및 B 형 소켓이 사용됩니다. 인도 Type C에서는 230V 및 50Hz의 Type D 및 Type M 소켓이 사용됩니다. 마지막으로 일본에서는 110V 50Hz 주파수의 Type A 및 Type B 소켓이 사용됩니다. 따라서 우리가 가지고 다니는 가전 제품이 다른 장소에서 가지고있는 전기 사양과 호환되지 않을 수 있다는 결론을 내릴 수 있습니다. 마찬가지로 어댑터 도구는 호환되지 않는 코드를 호환 가능한 코드로 변환 할 수 있기 때문에 필수적입니다.

이것으로 우리는 자바의이 어댑터 클래스의 마지막에 왔습니다. 확인 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

예제가있는 Java의 mvc 아키텍처

질문이 있으십니까? 이 '자바의 어댑터 클래스'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.