Hoe Action Listener in Java te implementeren



Dit artikel biedt u een gedetailleerde en uitgebreide kennis van Action Listener in Java met voorbeelden voor een beter begrip.

Wanneer een gebruiker een bepaalde actie uitvoert moet in staat zijn om er effectief mee om te gaan. Actieluisteraars in Java zijn in dergelijke situaties erg handig. In dit artikel bespreken we de volgende punten:

Inleiding tot Action Listener

Als programmeur is het uw plicht om te definiëren wat een actieluisteraar kan doen voor de werking van de gebruiker. Laten we bijvoorbeeld eens kijken naar een eenvoudig scenario waarbij de gebruiker een bepaald item uit de menubalk selecteert of op de enter-toets in een tekstveld drukt om naar een nieuwe regel te gaan. Zodra dergelijke gebruikersfuncties zijn uitgevoerd, wordt een bericht 'actie uitgevoerd' naar alle respectieve actieluisteraars verzonden die in de relevante component zijn gedefinieerd.





Hieronder wordt geïllustreerd hoe je een actieluisteraar schrijft:

Action-Listener-List



Hier is het cruciale en integrale onderdeel een object dat de Action Listener-interface kan implementeren. Dit object moet door het programma worden geïdentificeerd als een actieluisteraar op de knop die niets anders is dan de gebeurtenisbron.

Dus, met behulp van de addActionListener-methode, activeert de gebruiker een actiegebeurtenis wanneer hij op de knop klikt. Dit roept de actionPerformed-methode van de actieluisteraar op. Houd er rekening mee dat dit de enige methode is in de ActionListener-interface. Een enkel argument voor de methode is een ActionEvent-object, dat informatie geeft over de gebeurtenis en de bron ervan

binair naar decimale Java-code

De Action Event-klasse

Methoden Omschrijving
Tekenreeks getActionCommand ()

Retourneert een tekenreeks die aan deze actie is gekoppeld. De meeste objecten die actiegebeurtenissen kunnen activeren, ondersteunen een methode genaamd setActionCommand, waarmee u deze string kunt instellen.



int getModifiers ()

Het retourneert een geheel getal dat de gebruiker heeft ingedrukt tijdens de actie-gebeurtenis. Sommige ActionEvent-gedefinieerde constanten, zoals SHIFT_MASK, CTRL_MASK, META_MASK en ALT_MASK, worden gebruikt om de ingedrukte toetsen te bepalen. Als een gebruiker bijvoorbeeld een menu-item selecteert, is de uitdrukking niet nul

Object getSource ()

(in java.util.EventObject)

Retourneert het object dat de gebeurtenis heeft geactiveerd.

Action Listener implementeren in Java

pakket 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 public class ActionListenerTest implementeert ActionListener {JButton-knop JFrame-frame JTextArea textArea openbaar ActionListenerTest () {button = nieuw JButton ('Click Me') frame = nieuw JFrame ('ActionListener Test') textArea = nieuw JTextArea (5, 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (nieuw BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (knop, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVisible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Je hebt op de knop geklikt'))} public static void main (String args []) {ActionListenerTest test = nieuw ActionListenerTest ()}}

In de bovenstaande code moet een actieluisteraar worden geïmplementeerd in een klasse voordat u er toegang toe hebt. Zorg er dus voor dat u het sleutelwoord implementaties en de luisteraar toevoegt.

button.addActionListener (dit)

Dit betekent dat de componentknop wordt opgenomen in de componenten die worden bijgehouden voor een actiegebeurtenis. Het is verplicht om een ​​component aan een actieluisteraar toe te voegen, zodat u codes kunt toevoegen wanneer de gebruiker op die specifieke component klikt. Componenten die niet zijn toegevoegd met een actie-listener, kunnen niet worden gecontroleerd.

is een heeft een relatie

Laten we nu eens kijken naar een ander eenvoudig voorbeeld van de Action Listener in Java en hoe het werkt.

Voorbeeld 2:

Hier zijn er 3 eenvoudige Java-knopobjecten met de namen Rood, Groen en Blauw. Afhankelijk van de aangeklikte knop verandert de kleur van het achtergrondscherm.

De onderstaande diagrammen geven de respectieve uitvoer van de code weer die aan het einde van dit document is geplaatst. Er is slechts één keer weergegeven dat het scherm blauw wordt. Andere kleuren zoals rood en groen kunnen worden bekeken door deze code te implementeren.

Het knopobject “rb” is gekoppeld aan de ActionListener. 'This' parameter vertegenwoordigt de ActionListener. Als de koppeling niet is voltooid, geeft het programma 3 knoppen weer, maar zonder gebeurtenisafhandeling.

getActionCommand () methode van ActionEvent klasse gooit het label van de corresponderende knop waarop de gebruiker heeft geklikt als een string terug. str.

import java.awt. * import java.awt.event. * public class ButtonDemo breidt Frame implementeert ActionListener {Button rb, gb, bb // de drie Button-referentievariabelen public ButtonDemo () // constructor om de eigenschappen van een knop te definiëren { FlowLayout fl = new FlowLayout () // zet lay-out op frame setLayout (fl) rb = new Button ('Red') // converteer variabelen naar objecten gb = new Button ('Green') bb = new Button ('Blue') rb.addActionListener (this) // koppel Java-knoppen met ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // voeg elke Java-knop toe aan het frame add (gb) add (bb) setTitle ('Button in Action ') setSize (300, 350) // frameafmetingen, (breedte x hoogte) setVisible (true) // definiërend frame zichtbaar op monitor, standaard is setVisible (false)} // overschrijf alleen abstracte methode van ActionListener-interface public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // om de aangeklikte knop te identificeren System.out.println ('Je hebt geklikt' + str + 'knop') // 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 () // anoniem object van ButtonDemo om de constructor aan te roepen}}

wat is isinstance in python

Hiermee komen we aan het einde van dit Action Listener in Java-artikel. Ik hoop dat je kennis hebt van Action Listener in Java.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Edureka's Java J2EE en SOA training en certificering zijn bedoeld voor studenten en professionals die Java Developer willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze 'Action Listener in Java' -blog en we nemen zo snel mogelijk contact met u op.