Sovitinluokka on erittäin mielenkiintoinen aihe, josta kaikkien on tiedettävä. Tässä artikkelissa käsitellään seuraavia aiheita:
- Johdanto sovitinluokkaan
- Java-hiirisovitinluokka
- Java MouseMotionAdapter -luokka
- Java KeyAdapter -luokka
- Adapteriluokan edut
- Sovittimen suunnittelukuvio
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 ()}}
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.