Kako v Java implementirati poslušalec dejanj

V tem članku boste našli podrobno in celovito znanje o poslušalcu dejanj v Javi s primeri za boljše razumevanje.

Ko uporabnik izvede določeno dejanje mora biti sposoben učinkovito ravnati. Poslušalci akcij v Javi so v takšnih situacijah zelo koristni. V tem članku bomo razpravljali o naslednjih točkah:

Uvod v poslušalec akcij

Kot programer ste dolžni določiti, kaj lahko poslušalec dejanj naredi za delovanje uporabnika. Oglejmo si na primer preprost scenarij, ko uporabnik v menijski vrstici izbere določen element ali pritisne tipko Enter v besedilnem polju, da gre v novo vrstico. Ko so takšne uporabniške funkcije končane, se sporočilo 'izvedeno dejanje' pošlje vsem ustreznim poslušalcem dejanj, opredeljenim v ustrezni komponenti.





Spodaj slikovito opisuje, kako napisati poslušalca akcije:

Action-Listener-List



oddajanje dvojnika v int javo

Tu je ključni in sestavni del objekt, ki lahko implementira vmesnik poslušalca dejanj. Program mora ta predmet prepoznati kot poslušalca dejanj na gumbu, ki ni nič drugega kot vir dogodka.

Tako uporabimo metodo addActionListener, ko uporabnik klikne gumb, sproži akcijski dogodek. To prikliče metodo actionPerformed poslušalca akcije. Upoštevajte, da je to edina metoda v vmesniku ActionListener. Argument metode je objekt ActionEvent, ki zagotavlja informacije o dogodku in njegovem viru

Razred akcijskih dogodkov

Metode Opis
String getActionCommand ()

Vrne niz, povezan s tem dejanjem. Večina predmetov, ki lahko sprožijo akcijske dogodke, podpira metodo, imenovano setActionCommand, ki omogoča nastavitev tega niza.



int getModifiers ()

Vrne celo število, ki ga je uporabnik pritisnil, ko je bil dogodek med dejanjem. Nekatere konstante, ki jih določa ActionEvent, kot so SHIFT_MASK, CTRL_MASK, META_MASK in ALT_MASK, se uporabljajo za določanje pritisnjenih tipk. Če uporabnik na primer izbere element menija, potem izraz ni nič

Predmet getSource ()

(v java.util.EventObject)

Vrne objekt, ki je sprožil dogodek.

deli java programa

Izvajanje poslušalca dejanj v 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 javni razred 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.setVis. true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Kliknili ste gumb'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

V zgornji kodi mora biti poslušalec dejanj implementiran v razred, preden lahko dostopate do njega. Zato obvezno dodajte ključno besedo implements in poslušalca.

button.addActionListener (to)

To pomeni, da bo gumb komponente vključen v komponente, ki jim sledimo za akcijski dogodek. V poslušalnik dejanj morate dodati komponento, da boste lahko dodali kode, ko uporabnik klikne določeno komponento. Komponent, ki niso dodane s poslušalcem dejanj, ne bo mogoče nadzorovati.

Zdaj pa si oglejmo še en preprost primer poslušalca dejanj v Javi in ​​kako deluje.

2. primer:

Tu so trije preprosti predmeti gumbov Java, kjer so poimenovani kot rdeča, zelena in modra. Glede na klikni gumb se spremeni barva zaslona v ozadju.

Spodnji diagrami prikazujejo ustrezen izhod kode, ki je na koncu tega dokumenta. Prikazan je le en primerek zaslona, ​​ki se obarva modro. Z uporabo te kode si lahko ogledate druge barve, kot sta rdeča in zelena.

Gumb 'rb' je povezan z ActionListenerjem. Parameter »this« predstavlja ActionListener. Če povezovanje ne bo izvedeno, bo program prikazal 3 gumbe, vendar brez obdelave dogodkov.

metoda getActionCommand () razreda ActionEvent vrne oznako ustreznega gumba, ki ga je uporabnik kliknil kot niz. str.

import java.awt. * import java.awt.event. * javni razred ButtonDemo razširja Frame implementira ActionListener {Button rb, gb, bb // tri referenčne spremenljivke gumba public ButtonDemo () // konstruktor za določanje lastnosti gumba { FlowLayout fl = new FlowLayout () // nastavitev postavitve na okvir setLayout (fl) rb = new Button ('Red') // pretvorba spremenljivk v predmete gb = new Button ('Green') bb = new Button ('Blue') rb.addActionListener (this) // povezava gumbov Java z ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // dodaj vsak gumb Java v okvir add (gb) add (bb) setTitle ('Button v akciji ') setSize (300, 350) // dimenzije okvirja, (širina x višina) setVisible (true) // definiranje okvira je vidno na monitorju, privzeto je setVisible (false)} // preglasi samo abstraktno metodo vmesnika ActionListener public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // za prepoznavanje gumba, ki ga je kliknil System.out.println ('Kliknil si' + 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čna void main (String args []) {new ButtonDemo () // anonimni objekt ButtonDemo za klic konstruktorja}}

kako napisati tostring metodo v javi -

S tem smo prišli do konca tega članka o poslušalcu dejanj v Javi. Upam, da ste razumeli Action Listener v Javi.

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam nudi uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega spletnega dnevnika »Poslušalci dejanj na Javi«, da se vam bomo oglasili takoj, ko bo mogoče.