Kuidas rakendada Java-s toimingu kuulajat



See artikkel annab teile üksikasjalikud ja põhjalikud teadmised Java kuulamisprogrammist koos parema mõistmise näidetega.

Kui kasutaja teostab teatud toimingu peab olema võimeline seda tõhusalt käsitsema. Java kuulajad saavad sellistes olukordades väga kasuks. Selles artiklis käsitleme järgmisi punkte:

Sissejuhatus tegevuste kuulamisse

Programmeerijana on teie kohus määratleda, mida toimingute kuulaja saab kasutaja toimimiseks teha. Vaatleme näiteks lihtsat stsenaariumi, kus kasutaja valib menüüribalt kindla üksuse või vajutab uuele reale liikumiseks tekstiväljal sisestusklahvi. Kui sellised kasutajafunktsioonid on lõpule viidud, saadetakse sõnum „Toiming sooritatud“ kõigile vastavas komponendis määratletud vastavatele toimingute kuulajatele.





Allpool kirjeldatakse piltlikult, kuidas toimingukuulajat kirjutada:

Action-Listener-List



Siin on ülioluline ja lahutamatu osa objekt, mis saab rakendada Action Listeneri liidest. Selle objekti peab programm tuvastama nupul toimingute kuulajana, mis pole midagi muud kui sündmuse allikas.

Seega, kasutades meetodit addActionListener, käivitab kasutaja nupu, kui ta käivitab toimingusündmuse. See kutsub esile toimingukuulaja actionPerformed-meetodi. Pange tähele, et see on ainus liides ActionListener. Üks meetodi argument on objekt ActionEvent, mis annab teavet sündmuse ja selle allika kohta

Tegevussündmuse klass

Meetodid Kirjeldus
String getActionCommand ()

Tagastab selle toiminguga seotud stringi. Enamik objekte, mis võivad toimingusündmusi käivitada, toetavad meetodit nimega setActionCommand, mis võimaldab teil selle stringi määrata.



mis on java tupik
int getModifiers ()

See tagastab täisarvu, mida kasutaja vajutas toimingu ajal. Mõne ActionEventi määratletud konstanti nagu SHIFT_MASK, CTRL_MASK, META_MASK ja ALT_MASK kasutatakse vajutatud klahvide määramiseks. Näiteks kui kasutaja valib menüüelemendi, pole avaldis null

Objekt getSource ()

(java.util.EventObject-is)

Tagastab sündmuse käivitanud objekti.

Rakenduste kuulaja rakendamine Java-s

pakett com.javapointers.javase import java.awt.BorderLayout import java.awt.event.ActionEvent import java.awt.event.ActionListener import javax.swing.JButton import javax.swing.JFrame import javax.swing.JTextArea avaliku klassi ActionListenerTest rakendused ActionListener {JButton nupp JFrame raam JTextArea textArea public ActionListenerTest () {nupp = new JButton ('Click Me') raam = new JFrame ('ActionListener Test') textArea = new JTextArea (5, 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (uus BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (nupp, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setV true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Olete klõpsanud nuppu'))}} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

Ülaltoodud koodis peab toimingute kuulaja olema klassis rakendatud, enne kui sellele juurde pääsete. Nii et lisage kindlasti tööriista märksõna ja kuulaja.

tehisintellektiga vaieldakse plusse ja miinuseid

button.addActionListener (see)

See tähendab, et komponentide nupp lisatakse komponentidesse, mida toimingusündmuse jaoks jälgitakse. Komponentide lisamine toimingute kuulajale on kohustuslik, et saaksite koode lisada, kui kasutaja sellel konkreetsel komponendil klõpsab. Komponente, mida ei lisata toimingute kuulajaga, ei õnnestu jälgida.

Vaatame nüüd veel ühte lihtsat näidet Java Java Action Listenerist ja selle toimimisest.

Näide 2:

Siin on 3 lihtsat Java-nupu objekti, kus nende nimi on punane, roheline ja sinine. Sõltuvalt klõpsatud nupust muutub taustakuva värvimuutus.

java operaatori võimule

Allpool toodud diagrammid kujutavad koodi vastavat väljundit, mis on paigutatud käesoleva dokumendi lõppu. Kuvatud on ainult üks ekraan, mis muutub siniseks. Teisi värve, nagu punane ja roheline, saab vaadata selle koodi rakendamisega.

Nuppobjekt “rb” on seotud ActionListeneriga. „See” parameeter tähistab ActionListenerit. Kui linkimine pole lõpetatud, kuvab programm 3 nuppu, kuid ilma sündmuste käsitlemiseta.

Klassi ActionEvent meetod getActionCommand () viskab tagasi vastava nupu sildi, millele kasutaja klõpsab. str.

import java.awt. * import java.awt.event. * avalik klass ButtonDemo laiendab Frame'i rakendusi ActionListener {Button rb, gb, bb // kolm nupu viide muutujat public ButtonDemo () // konstruktor nupu omaduste määramiseks { FlowLayout fl = new FlowLayout () // seab paigutuse raamile setLayout (fl) rb = uus nupp ('punane') // teisendab muutujad objektideks gb = uus nupp ('roheline') bb = uus nupp ('sinine') rb.addActionListener (see) // link Java-nupud ActionListeneriga gb.addActionListener (see) bb.addActionListener (see) add (rb) // lisage iga Java-nupp raami add (gb) add (bb) setTitle ('nupp tegevuses ') setSize (300, 350) // raami mõõtmed, (laius x kõrgus) setVisible (true) // määratlev raam on ekraanil nähtav, vaikimisi on setVisible (false)} // alistab ainult ActionListeneri liidese abstraktse meetodi public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // nupu tuvastamiseks klõpsatud nuppu System.out.println ('Klõpsasite nuppu + str +' ') // if (str.equals ('punane')) {setBackground (Color.red)} else if (str.equals ('Green')) {setBackground (Color.green)} else if (str.equals ('sinine') ) {setBackground (Color.blue)}} public staatiline void main (String args []) {new ButtonDemo () // ButtonDemo anonüümne objekt, et helistada konstruktorile}}

Sellega jõuame Java-s selle Action Listeneri lõppu. Loodan, et saite Java Kuulajate kuulamisest aru.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka Java J2EE ning SOA koolitus- ja sertifitseerimiskursus on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad. Kursus on loodud selleks, et anda teile Java programmeerimises edukas algus ja õpetada teid nii Java-põhiprogrammide kui ka edasijõudnute mõistete ning erinevate Java-raamistike, näiteks Hibernate & Spring, jaoks.

Kas teil on meile küsimus? Palun mainige seda selle ajaveebi “Action Listener in Java” kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.