Sådan implementeres handlingslytter i Java



Denne artikel vil give dig en detaljeret og omfattende viden om Action Listener i Java med eksempler til bedre forståelse.

Når en bruger udfører en bestemt handling skal være i stand til at håndtere det effektivt. Handlingslyttere i Java kommer meget nyttige i sådanne situationer. I denne artikel vil vi diskutere følgende punkter:

sorter c ++ array

Introduktion til Action Listener

Som programmør er det din pligt at definere, hvad en handlingslytter kan gøre for brugerens drift. Lad os for eksempel overveje et simpelt scenarie, hvor brugeren vælger et bestemt element fra menulinjen eller rammer enter-tasten i et tekstfelt for at gå til en ny linje. Når sådanne brugerfunktioner er udført, sendes en 'handling udført' besked til alle respektive handlingslyttere defineret i den relevante komponent.





Nedenfor beskrives billedligt, hvordan man skriver en handlingslytter:

Action-Listener-List



Her er den afgørende og integrerede del et objekt, der kan implementere grænsefladen Action Listener. Dette objekt skal identificeres af programmet som en handlingslytter på knappen, der kun er begivenhedskilden.

Således bruger brugeren addActionListener-metoden, når brugeren klikker på knappen, det affyrer en handlingshændelse. Dette påkalder handlingslytterens actionPerformed-metode. Bemærk, at det er den eneste metode i ActionListener-grænsefladen. Et enkelt argument til metoden er et ActionEvent-objekt, der giver information om begivenheden og dens kilde

Handlingsbegivenhedsklassen

Metoder Beskrivelse
String getActionCommand ()

Returnerer streng tilknyttet denne handling. De fleste objekter, der kan affyre handlingshændelser, understøtter en metode kaldet setActionCommand, som giver dig mulighed for at indstille denne streng.



int getModifiers ()

Det returnerer et heltal, som brugeren trykkede på under begivenheden under handling. Nogle ActionEvent-definerede konstanter som SHIFT_MASK, CTRL_MASK, META_MASK og ALT_MASK bruges til at bestemme de taster, der trykkes på. For eksempel, hvis en bruger vælger et menupunkt, er udtrykket ikke nul

Objekt getSource ()

(i java.util.EventObject)

Returnerer det objekt, der fyrede begivenheden.

Implementering af handlingslytter i Java

pakke 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 offentlig klasse ActionListenerTest-implementeringer ActionListener {JButton knap JFrame ramme JTextArea tekstArea offentlig ActionListenerTest () {knap = ny JButton ('Klik mig') ramme = ny JFrame ('ActionListener test') textArea = ny JTextArea (5, 40) knap. AddActionListener (denne) textArea. setLineWrap (true) frame.setLayout (ny BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (knap, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVisible ( sand)} @ Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('You have clicked the buttonn'))} public static ugyldig main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

I ovenstående kode kræves det, at en handlingslytter implementeres i en klasse, før du kan få adgang til den. Så sørg for at tilføje i implementeringsnøgleordet og lytteren.

button.addActionListener (dette)

Det betyder, at komponentknappen vil blive inkluderet i de komponenter, der spores til en handlingsbegivenhed. Det er obligatorisk at tilføje en komponent til en handlingslytter, så du kan tilføje koder, når brugeren klikker på den pågældende komponent. Komponenter, der ikke tilføjes med en handlingslytter, overvåges ikke.

Lad os nu se på et andet simpelt eksempel på Action Listener i Java, og hvordan det fungerer.

Eksempel 2:

hvad er abstraktion i c ++

Her er der 3 enkle Java-knapobjekter, hvor de er navngivet som rød, grøn og blå. Afhængigt af knappen, der blev klikket på, ændres baggrundsskærmens farve.

hvad betyder __init__ i python

Nedenstående diagrammer viser den respektive output af koden, der er placeret i slutningen af ​​dette dokument. Der er kun vist én forekomst af, at skærmen bliver blå. Andre farver som rød og grøn kan ses ved at implementere denne kode.

Knappegenstanden “rb” er knyttet til ActionListener. “Dette” parameter repræsenterer ActionListener. Hvis linkningen ikke er færdig, viser programmet 3 knapper, men uden hændelseshåndtering.

getActionCommand () -metoden i ActionEvent-klassen smider etiketten på den tilsvarende knap, som brugeren har klikket på, som en streng. str.

import java.awt. * import java.awt.event. * public class ButtonDemo udvider Ramme implementerer ActionListener {Button rb, gb, bb // de tre knap reference variabler public ButtonDemo () // konstruktør til at definere egenskaberne til en knap { FlowLayout fl = ny FlowLayout () // sæt layout til rammesæt Layout (fl) rb = ny knap ('Rød') // konverter variabler til objekter gb = ny knap ('Grøn') bb = ny knap ('Blå') rb.addActionListener (dette) // link Java-knapper med ActionListener gb.addActionListener (dette) bb.addActionListener (dette) tilføj (rb) // tilføj hver Java-knap til rammen tilføj (gb) tilføj (bb) setTitle ('Button i handling ') setSize (300, 350) // rammedimensioner, (bredde x højde) setVisible (true) // definerende ramme synlig på skærmen, standard er setVisible (false)} // tilsidesætter kun abstrakt metode til ActionListener-grænseflade offentlig ugyldig actionPerformed (ActionEvent e) {String str = e.getActionCommand () // for at identificere den klik, der blev klikket på System.out.println ('Du klikkede på' + str + 'knappen') // hvis (str.equals ('Rød')) {setBackground (Color.red)} ellers hvis (str.equals ('Green')) {setBackground (Color.green)} ellers hvis (str.equals ('Blue') ) {setBackground (Color.blue)}} public static void main (String args []) {new ButtonDemo () // anonymt objekt fra ButtonDemo for at ringe til konstruktøren}}

Med dette kommer vi til slutningen af ​​denne Action Listener i Java-artikel. Jeg håber, du har forståelse for Action Listener i Java.

Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edurekas Java J2EE- og SOA-kursus er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne 'Action Listener in Java' -blog, og vi vender tilbage til dig hurtigst muligt.