Hoe Adapter Class in Java te implementeren



Dit artikel biedt u gedetailleerde en uitgebreide kennis van verschillende typen adapterklassen in Java met voorbeelden.

Adapterklasse in is een heel interessant onderwerp dat iedereen moet weten. In dit artikel gaan we in op de volgende onderwerpen:

Inleiding tot adapterklasse

Adapterklassen bieden een implementatie van listener-interfaces. Wanneer u de adapterklasse overneemt, is implementatie voor alle methoden niet verplicht. Zo wordt het schrijven van overtollige code opgeslagen.





Deze adapterklassen zijn te vinden in de pakketten java.awt.event, java.awt.dnd en javax.swing.event. Enkele van de algemene adapterklassen met bijbehorende listener-interfaces worden hieronder gegeven.

  • java.awt.event
  • java.awt.dnd
  • javax.swing.event

java.awt.event



Adapterklasse Luisteraarinterface
VensterAdapter WindowListener
Sleuteladapter
KeyListener
MuisAdapter
MouseListener
MouseMotionAdapter
MouseMotionListener
FocusAdapter FocusListener
ComponentAdapter ComponentListener
ContainerAdapter ContainerListener
HierarchyBoundsAdapter HierarchyBoundsListener

java.awt.dnd

Adapterklasse Luisteraarinterface
DragSourceAdapter DragSourceListener
DragTargetAdapter DragTargetListener

javax.swing.event

Adapterklasse Luisteraarinterface
MouseInputAdapter MouseInputListener
InternalFrameAdapter InternalFrameListener

Java-muisadapter

import java.awt. * import java.awt.event. * public class MouseAdapterExample breidt MouseAdapter uit {Frame f MouseAdapterExample () {f = nieuw frame ('Mouse Adapter') f.addMouseListener (dit) 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 ()}}

Muisadapterklasse in Java



Java MouseMotionAdapter

import java.awt. * import java.awt.event. * public class MouseMotionAdapterExample breidt MouseMotionAdapter uit {Frame f MouseMotionAdapterExample () {f = nieuw frame ('Mouse Motion Adapter') f.addMouseMotionListener (dit) 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 ()}}

cast dubbel naar int java

Java KeyAdapter-klasse

import java.awt. * import java.awt.event. * public class KeyAdapterExample breidt KeyAdapter uit {Label l TextArea-gebied Frame f KeyAdapterExample () {f = nieuw frame ('Key Adapter') l = nieuw Label () l.setBounds ( 20,50,200,20) gebied = nieuw TextArea () gebied.setBounds (20,80,300, 300) gebied.addKeyListener (dit) f.add (l) f.add (gebied) f.setSize (400,400) f.setLayout ( null) f.setVisible (true)} public void keyReleased (KeyEvent e) {String text = area.getText () Stringwoorden [] = text.split (' s') l.setText ('Words:' + words. length + 'Characters:' + text.length ())} public static void main (String [] args) {new KeyAdapterExample ()}}

Voordelen van de adapterklasse

Het helpt niet-gerelateerde klassen om samen te werken en biedt een manier om klassen op meerdere manieren te gebruiken. Het kan de transparantie van klassen vergroten. Een adapterklasse biedt een manier om gerelateerde patronen in een klasse op te nemen. Gebruikers krijgen een optie van een pluggable kit voor het ontwikkelen van applicaties. Zo wordt het gebruik van klassen in hoge mate herbruikbaar.

Adapter ontwerppatroon

Een ontwerppatroon voor een adapter is een structureel ontwerppatroon, waardoor twee verschillende interfaces kunnen samenwerken. Het adapterpatroon is in staat om twee incompatibele interfaces compatibel te maken zonder hun bestaande code te wijzigen. De bijbehorende interfaces zijn mogelijk incompatibel, maar interne functionaliteiten moeten aan de vereiste voldoen.

Het adapterpatroon wordt vaak gemaakt om bij een bestaande klasse met anderen te passen zonder hun broncode te wijzigen. Bovendien gebruiken ze een enkele klasse om functionaliteiten van onafhankelijke of incompatibele interfaces samen te voegen. Een andere naam voor het adapterpatroon staat bekend als de wikkel, d.w.z. het is een alternatieve naam die wordt gedeeld met het ontwerppatroon van de decorateur.

Het patroon zet ook de incompatibele interfaces van een klasse om in verschillende interfaces die niets anders zijn dan het doelwit. Dit is wat de klanten uiteindelijk nodig hebben. Adapterpatronen laten klassen ook samenwerken, anders zou het bijna incompatibel zijn als interfaces samen zouden werken. Om de zaken in perspectief te plaatsen, kunt u overwegen iemand die regelmatig met zijn laptop en mobiel naar verschillende landen reist.

Er zijn verschillende stopcontacten, voltages en frequenties gemeten in verschillende landen en dat maakt het gebruik van elk apparaat van het ene land compatibel in een ander land. In het VK wordt vaak een type G-stopcontact met 230 volt en een frequentie van 50 Hz gebruikt.

In de VS worden type A- en type B-stopcontacten met 120 volt en 60 Hz-frequentie gebruikt. In India worden Type C, Type D. en Type M stopcontacten met 230 volt en 50 Hz gebruikt. Ten slotte worden in Japan type A- en type B-stopcontacten met 110 volt en 50 Hz-frequentie gebruikt. Er kan dus worden geconcludeerd dat de apparaten die we voeren mogelijk niet compatibel zijn met de elektrische specificaties die we op verschillende plaatsen hebben. Evenzo zijn adaptertools essentieel omdat ze incompatibele code kunnen omzetten in compatibele code.

Hiermee komen we aan het einde van deze Adapter Class in Java. Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Edureka's Java J2EE en SOA training en certificering zijn bedoeld voor studenten en professionals die Java Developer willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel de kern als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze 'Adapter Class in Java' -blog en we nemen zo snel mogelijk contact met u op.