Hur man implementerar Action Listener i Java



Den här artikeln ger dig en detaljerad och omfattande kunskap om Action Listener i Java med exempel för bättre förståelse.

När en användare utför en viss åtgärd måste kunna hantera det effektivt. Actionlyssnare i Java kommer mycket till hands i sådana situationer. I den här artikeln kommer vi att diskutera följande punkter:

Introduktion till Action Listener

Som programmerare är det din plikt att definiera vad en handlingslyssnare kan göra för användarens funktion. Låt oss till exempel överväga ett enkelt scenario där användaren väljer ett visst objekt i menyraden eller trycker på Enter-tangenten i ett textfält för att gå till en ny rad. När sådana användarfunktioner är färdiga skickas ett 'åtgärd utfört' -meddelande till alla respektive handlingslyssnare definierade i den relevanta komponenten.





Nedan beskrivs bildligt hur man skriver en actionlyssnare:

Action-Listener-List



Här är den viktiga och integrerade delen ett objekt som kan implementera Action Listener-gränssnittet. Detta objekt måste identifieras av programmet som en actionlyssnare på knappen som inte är annat än händelsekällan.

Således använder användaren addActionListener-metoden när användaren klickar på knappen avfyrar en åtgärdshändelse. Detta åberopar actionlyssnarens actionPerformed-metod. Observera att det är den enda metoden i ActionListener-gränssnittet. Ett enda argument för metoden är ett ActionEvent-objekt som ger information om händelse och dess källa

Actionhändelseklassen

Metoder Beskrivning
Sträng getActionCommand ()

Returnerar sträng som är associerad med den här åtgärden. De flesta objekt som kan aktivera åtgärdshändelser stöder en metod som kallas setActionCommand, som låter dig ställa in denna sträng.



int getModifiers ()

Det returnerar ett heltal som användaren tryckte på under händelsen under åtgärden. Vissa ActionEvent-definierade konstanter som SHIFT_MASK, CTRL_MASK, META_MASK och ALT_MASK används för att bestämma knapparna som trycks ned. Om en användare till exempel väljer ett menyalternativ är uttrycket icke-noll

Objekt getSource ()

(i java.util.EventObject)

Returnerar objektet som avfyrade händelsen.

Implementera Action Listener i Java

paketet 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 klass ActionListenerTest implementerar ActionListener {JButton-knapp JFrame-ram JTextArea textArea offentlig 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.setVisible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('You have clicked the buttonn'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

är git och github samma

I ovanstående kod krävs att en actionlyssnare implementeras i en klass innan du kan komma åt den. Så se till att du lägger till i nyckelordet redskap och lyssnaren.

button.addActionListener (detta)

Det betyder att komponentknappen kommer att ingå i komponenterna som spåras för en åtgärdshändelse. Det är obligatoriskt att lägga till en komponent i en handlingslyssnare så att du kan lägga till koder när användaren klickar på den aktuella komponenten. Komponenter som inte läggs till med en actionlyssnare kan inte övervakas.

Låt oss nu titta på ett annat enkelt exempel på Action Listener i Java och hur det fungerar.

Exempel 2:

Här finns 3 enkla Java-knappobjekt där de heter rött, grönt och blått. Beroende på vilken knapp som klickades ändras bakgrundsskärmens färgfärg.

Nedanstående diagram visar respektive utdata för koden som placeras i slutet av detta dokument. Endast en instans av att skärmen blivit blå har visats. Andra färger som rött och grönt kan ses genom att implementera den här koden.

Knappobjektet ”rb” är länkat till ActionListener. 'Denna' -parameter representerar ActionListener. Om länkningen inte är klar kommer programmet att visa 3 knappar men utan händelsehantering.

getActionCommand () -metoden i ActionEvent-klassen kastar tillbaka etiketten för motsvarande knapp som användaren klickar på som en sträng. str.

importera java.awt. * importera java.awt.event. * public class ButtonDemo förlänger Frame implementerar ActionListener {Button rb, gb, bb // de tre knappreferensvariablerna public ButtonDemo () // konstruktör för att definiera egenskaperna till en knapp { FlowLayout fl = ny FlowLayout () // ställ layout till ramuppsättning Layout (fl) rb = ny knapp ('Röd') // konvertera variabler till objekt gb = ny knapp ('Grön') bb = ny knapp ('Blå') rb.addActionListener (detta) // länka Java-knappar med ActionListener gb.addActionListener (detta) bb.addActionListener (detta) lägg till (rb) // lägg till varje Java-knapp i ramen lägg till (gb) lägg till (bb) setTitle ('Knapp i åtgärd ') setSize (300, 350) // ramdimensioner, (bredd x höjd) setVisible (true) // definiera ram som är synlig på bildskärmen, standard är setVisible (false)} // åsidosätter endast abstrakt metod för ActionListener-gränssnitt offentligt tom actionPerformed (ActionEvent e) {String str = e.getActionCommand () // för att identifiera den knapp som klickades på System.out.println ('Du klickade på' + str + 'knappen') // if (str.equals ('Red')) {setBackground (Color.red)} else if (str.equals ('Green')) {setBackground (Color.green)} else if (str.equals ('Blue') ) {setBackground (Color.blue)}} public static void main (String args []) {new ButtonDemo () // anonymt objekt av ButtonDemo för att ringa konstruktören}}

Med detta kommer vi till slutet av denna Action Listener i Java-artikel. Jag hoppas att du fick en förståelse för Action Listener i Java.

Kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i den här 'Action Listener in Java' -bloggen så kommer vi tillbaka till dig så snart som möjligt.

hur man kastar dubbelt till int