Kako implementirati slušatelj akcija u Javi



Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o slušatelju akcija na Javi s primjerima za bolje razumijevanje.

Kada korisnik izvrši određenu radnju mora biti u stanju to učinkovito riješiti. Slušatelji akcije na Javi vrlo dobro dođu u takvim situacijama. U ovom ćemo članku raspravljati o sljedećim točkama:

Uvod u slušatelj akcije

Kao programer, vaša je dužnost definirati što slušatelj akcije može učiniti za rad korisnika. Na primjer, razmotrimo jednostavan scenarij u kojem korisnik odabire određenu stavku s trake izbornika ili pritisne tipku enter u tekstnom polju za prelazak u novi redak. Jednom kada su takve korisničke funkcije gotove, poruka 'izvršena radnja' šalje se svim odgovarajućim slušateljima radnji definiranim u relevantnoj komponenti.





Ispod slikovito opisuje kako napisati slušatelja akcije:

Action-Listener-List



Ovdje je presudni i sastavni dio objekt koji može implementirati sučelje Action Listener. Program taj objekt mora prepoznati kao preslušač akcije na gumbu koji nije ništa drugo nego izvor događaja.

Dakle, koristeći metodu addActionListener, kada korisnik klikne gumb, aktivira akcijski događaj. Ovo poziva metodu actionPerformed slušatelja radnje. Imajte na umu da je to jedina metoda u sučelju ActionListener. Pojedinačni argument metode je objekt ActionEvent, koji pruža informacije o događaju i njegovom izvoru

Razred akcijskog događaja

Metode Opis
String getActionCommand ()

Vraća niz povezan s ovom radnjom. Većina objekata koji mogu aktivirati akcijske događaje podržavaju metodu koja se naziva setActionCommand, koja vam omogućuje postavljanje ovog niza.



int getModifiers ()

Vraća cijeli broj koji je korisnik pritiskao tijekom akcijskog događaja. Neke konstante definirane ActionEventom poput SHIFT_MASK, CTRL_MASK, META_MASK i ALT_MASK koriste se za određivanje pritisnutih tipki. Na primjer, ako korisnik odabere stavku izbornika, tada izraz nije nula

kako koristiti iterator java -
Objekt getSource ()

(u java.util.EventObject)

Vraća objekt koji je pokrenuo događaj.

Implementacija Slušatelja akcija u Javi

paket 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 implementacija javne klase ActionListenerTest ActionListener {JButton button JFrame frame JTextArea textArea public ActionListenerTest () {button = new JButton ('Click Me') frame = new JFrame ('ActionListener Test') textArea = new JTextArea (5, 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (new BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (button, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVset. true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Kliknuli ste gumb'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

U gornjem kodu, preslušač akcije mora biti implementiran u klasu prije nego što mu možete pristupiti. Pazite da dodate ključnu riječ implements i slušatelja.

button.addActionListener (ovo)

To znači da će gumb komponente biti uključen u komponente koje se prate za akcijski događaj. Obavezno je dodati komponentu u preslušavač akcije, kako biste mogli dodavati kodove kada korisnik klikne tu određenu komponentu. Komponente koje se ne dodaju s preslušačem akcije neće se moći nadzirati.

Pogledajmo sada još jedan jednostavan primjer slušatelja radnji u Javi i kako to radi.

Primjer 2:

Ovdje postoje 3 jednostavna objekta gumba Java gdje su nazvani Crvena, Zelena i Plava. Ovisno o pritisnutom gumbu, mijenja se boja pozadine zaslona.

Dijagrami u nastavku prikazuju odgovarajući izlaz koda koji se nalazi na kraju ovog dokumenta. Prikazan je samo jedan slučaj zaslona koji postaje plav. Ostale boje poput crvene i zelene mogu se vidjeti primjenom ovog koda.

što je anonimni razred u javi

Objekt gumba 'rb' povezan je s ActionListenerom. Parametar 'this' predstavlja ActionListener. Ako povezivanje nije učinjeno, program će prikazati 3 gumba, ali bez obrade događaja.

getActionCommand () metoda klase ActionEvent baca natrag oznaku odgovarajućeg gumba na koji je korisnik kliknuo kao niz. str.

import java.awt. * import java.awt.event. * javna klasa ButtonDemo proširuje Frame implementira ActionListener {Button rb, gb, bb // tri referentne varijable gumba public ButtonDemo () // konstruktor za definiranje svojstava gumba { FlowLayout fl = new FlowLayout () // postavljanje rasporeda u okvir setLayout (fl) rb = new Button ('Red') // pretvaranje varijabli u objekte gb = new Button ('Green') bb = new Button ('Blue') rb.addActionListener (this) // poveži Java gumbe s ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // dodaj svaki Java gumb u okvir add (gb) add (bb) setTitle ('Button u akciji ') setSize (300, 350) // dimenzije okvira, (širina x visina) setVisible (true) // definiranje okvira vidljivo na monitoru, zadana vrijednost je setVisible (false)} // nadjačati samo apstraktnu metodu javnog sučelja sučelja ActionListener actionPerformed (ActionEvent e) {String str = e.getActionCommand () // za prepoznavanje klika na gumb System.out.println ('Kliknuli ste' + str + 'gumb') // if (str.equals ('Red')) {setBackground (Color.red)} else if (str.equals ('Green')) {setBackground (Color.green)} else if (str.equals ('Blue') ) {setBackground (Color.blue)}} javna statička void glavna (String args []) {new ButtonDemo () // anonimni objekt ButtonDemo za pozivanje konstruktora}}

Ovim smo došli do kraja ovog članka o Slušatelju radnji u Javi. Nadam se da ste razumjeli Action Listener u Javi.

Pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA namijenjen je studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'Slušatelj akcija na Javi', a mi ćemo vam se javiti što je prije moguće.