Kuinka toteuttaa Adapter-luokka Java-sovelluksessa



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon erityyppisistä Java-sovitinluokista esimerkkien avulla.

Sovitinluokka on erittäin mielenkiintoinen aihe, josta kaikkien on tiedettävä. Tässä artikkelissa käsitellään seuraavia aiheita:

Johdanto sovitinluokkaan

Sovitinluokat tarjoavat kuuntelijarajapintojen toteutuksen. Kun perit sovittimen luokan, kaikkien menetelmien toteutus ei ole pakollista. Näin ylimääräisen koodin kirjoittaminen tallennetaan.





Nämä sovitinluokat löytyvät paketeista java.awt.event, java.awt.dnd ja javax.swing.event. Jotkut yleisimmistä sovitinluokista ja vastaavilla kuuntelijarajapinnoilla on annettu alla.

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

java.awt.event



c ++ lajittelee taulukon
Sovitinluokka Kuuntelijan käyttöliittymä
Ikkuna-sovitin WindowListener
KeyAdapter
KeyListener
Hiirisovitin
HiiriListener
MouseMotionAdapter
HiiriMotionListener
Tarkennusadapteri FocusListener
Komponenttisovitin ComponentListener
ContainerAdapter ContainerListener
HierarkiaRajatSovitin HierarkiaBoundsListener

java.awt.dnd

Sovitinluokka Kuuntelijan käyttöliittymä
DragSourceAdapter DragSourceListener
DragTargetAdapter DragTargetListener

javax.swing.event

Sovitinluokka Kuuntelijan käyttöliittymä
MouseInputAdapter MouseInputListener
InternalFrameAdapter InternalFrameListener

Java-hiirisovitin

tuo java.awt. * tuo java.awt.event. * julkinen luokka MouseAdapterExample laajentaa 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 [] argumentit) {uusi MouseAdapterExample ()}}

Hiirisovittimen luokka Java-kielellä



Java MouseMotion -sovitin

tuo java.awt. * tuo java.awt.event. * julkinen luokka MouseMotionAdapterExample laajentaa 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 (Merkkijono [] argumentit) {uusi MouseMotionAdapterExample ()}}

Java KeyAdapter -luokka

tuo java.awt. * tuo java.awt.event. * public class KeyAdapterExample laajentaa KeyAdapteria {Label l TextArea -alue Kehys f KeyAdapterExample () {f = uusi kehys ('Key Adapter') l = uusi 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 + 'Characters:' + text.length ())} public static void main (String [] args) {new KeyAdapterExample ()}}

Adapteriluokan edut

Se auttaa etuyhteydettömiä luokkia työskentelemään yhdessä ja tarjoaa tavan käyttää luokkia monin tavoin. Se voi lisätä luokkien läpinäkyvyyttä. Sovitinluokka tarjoaa tavan sisällyttää aiheeseen liittyviä kuvioita luokan sisälle. Käyttäjille tarjotaan lisävarustepaketti sovellusten kehittämiseen. Siksi luokkien käytöstä tulee erittäin uudelleenkäytettävää.

selittää ero muuttuvien ja muuttumattomien kohteiden välillä.

Sovittimen suunnittelukuvio

Adapterisuunnittelukuvio on rakennesuunnittelukuvio, jonka avulla kaksi erilaista rajapintaa voivat toimia yhdessä. Sovitinkuvio pystyy tekemään kaksi yhteensopimatonta rajapintaa yhteensopivaksi muuttamatta olemassa olevaa koodia. Vastaavat liitännät voivat olla yhteensopimattomia, mutta sisäisten toimintojen on vastattava vaatimusta.

Sovitinmalli tehdään usein vastaamaan olemassa olevaa luokkaa muiden kanssa muuttamatta heidän lähdekoodiaan. Lisäksi he käyttävät yhtä luokkaa liittääkseen itsenäisten tai yhteensopimattomien rajapintojen toiminnot. Toinen adapterikuvion nimi tunnetaan nimellä kääre, eli se on vaihtoehtoinen nimi, joka on jaettu sisustajan suunnittelukuvion kanssa.

Kuvio muuntaa myös luokan yhteensopimattomat rajapinnat eri rajapinnoiksi, jotka eivät ole mitään muuta kuin kohde. Tätä asiakkaat vaativat lopulta. Sovitinmallit antavat myös luokkien toimia yhdessä, muuten rajapintojen toimiminen yhdessä olisi melkein yhteensopimatonta. Harkitse asioita näkökulmasta henkilö, joka matkustaa usein eri maihin kannettavan ja matkapuhelimensa avulla.

Eri maissa on eri pistorasioita, jännitteitä ja taajuuksia, jotka tekevät yhden maan minkä tahansa laitteen käytöstä yhteensopivaa eri maassa. Isossa-Britanniassa käytetään tyypillisesti tyypin G pistorasiaa, jonka taajuus on 230 V ja taajuus 50 Hz.

kuinka oppia pl sql

Yhdysvalloissa käytetään tyypin A ja B pistorasioita, joiden taajuus on 120 volttia ja taajuus 60 Hz. Intiassa käytetään tyypin C, tyypin D. ja tyypin M pistorasioita, joiden jännite on 230 volttia ja 50 Hz. Viimeinkin Japanissa käytetään tyypin A ja tyypin B pistorasioita 110 voltin ja 50 Hz: n taajuudella. Siten voidaan päätellä, että kantamamme laitteet voivat olla yhteensopimattomia eri paikoissa olevien sähköisten ominaisuuksien kanssa. Vastaavasti adapterityökalut ovat välttämättömiä, koska ne voivat muuntaa yhteensopimattoman koodin yhteensopivaksi koodiksi.

Tämän avulla olemme pääsemässä tämän Java-sovitinluokan loppuun. Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän 'Adapter Class in Java' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.