Adapterklasse in is een heel interessant onderwerp dat iedereen moet weten. In dit artikel gaan we in op de volgende onderwerpen:
- Inleiding tot adapterklasse
- Java-muisadapterklasse
- Java MouseMotionAdapter Klasse
- Java KeyAdapter-klasse
- Voordelen van de adapterklasse
- Adapter ontwerppatroon
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 ()}}
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.