Jak implementovat posluchače akcí v Javě

Tento článek vám poskytne podrobné a komplexní znalosti o Action Listener v Javě s příklady lepšího porozumění.

Když uživatel provede určitou akci musí být v pozici, aby to zvládla efektivně. V takových situacích se posluchači akcí v Javě velmi hodí. V tomto článku budeme diskutovat o následujících bodech:

Úvod do posluchače akcí

Jako programátor je vaší povinností definovat, co může posluchač akcí udělat pro provoz uživatele. Podívejme se například na jednoduchý scénář, kdy uživatel vybere určitou položku z řádku nabídek nebo stiskem klávesy Enter v textovém poli přejde na nový řádek. Jakmile jsou takové uživatelské funkce hotové, odešle se zpráva „akce provedena“ všem příslušným posluchačům akcí definovaným v příslušné komponentě.





Níže ilustrujeme, jak napsat posluchače akcí:

Action-Listener-List



Zde je zásadní a nedílnou součástí objekt, který může implementovat rozhraní posluchače akcí. Tento objekt musí program identifikovat jako posluchače akcí na tlačítku, které není ničím jiným než zdrojem události.

Takže s využitím metody addActionListener, když uživatel klikne na tlačítko, spustí akci akce. Tím se vyvolá metoda actionPerformed posluchače akcí. Upozorňujeme, že je to jediná metoda v rozhraní ActionListener. Jediným argumentem metody je objekt ActionEvent, který poskytuje informace o události a jejím zdroji

Třída akce akce

Metody Popis
Řetězec getActionCommand ()

Vrátí řetězec spojený s touto akcí. Většina objektů, které mohou aktivovat akce, podporuje metodu nazvanou setActionCommand, která umožňuje nastavit tento řetězec.



int getModifiers ()

Vrátí celé číslo, které uživatel stiskl, když došlo k události během akce. K určení stisknutých kláves se používají některé konstanty definované akcí ActionEvent, jako SHIFT_MASK, CTRL_MASK, META_MASK a ALT_MASK. Například pokud uživatel vybere položku nabídky, pak je výraz nenulový

Objekt getSource ()

(v java.util.EventObject)

Vrátí objekt, který událost vypálil.

Implementace posluchače akcí v Javě

balíček 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 veřejná třída ActionListenerTest implementuje 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 (nový BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (tlačítko, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVisible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Klikli jste na tlačítko n'))} public static void main (String args []) {ActionListenerTest test = nový ActionListenerTest ()}}

Ve výše uvedeném kódu je nutné, aby byl posluchač akcí implementován ve třídě, než k němu budete mít přístup. Nezapomeňte tedy přidat klíčové slovo implementuje a posluchače.

button.addActionListener (this)

To znamená, že tlačítko komponenty bude zahrnuto do komponent, které jsou sledovány pro akční událost. Je nutné přidat komponentu do posluchače akcí, abyste mohli přidat kódy, když uživatel klikne na konkrétní komponentu. Komponenty, které nejsou přidány s posluchačem akcí, nebudou monitorovány.

Nyní se podívejme na další jednoduchý příklad posluchače akcí v Javě a na jeho fungování.

Příklad 2:

Zde jsou 3 jednoduché objekty tlačítek Java, kde jsou pojmenovány jako červená, zelená a modrá. V závislosti na kliknutí na tlačítko se barva pozadí změní.

Níže uvedená schémata znázorňují příslušný výstup kódu, který je umístěn na konci tohoto dokumentu. Byla zobrazena pouze jedna instance modré obrazovky. Jiné barvy, jako je červená a zelená, lze zobrazit implementací tohoto kódu.

Knoflíkový objekt „rb“ je propojen s ActionListenerem. Parametr „this“ představuje ActionListener. Pokud se propojení neprovede, program zobrazí 3 tlačítka, ale bez zpracování událostí.

vytvořit řadu objektů java

Metoda getActionCommand () třídy ActionEvent vrací štítek příslušného tlačítka, na které uživatel klikl, jako řetězec. str.

import java.awt. * import java.awt.event. * veřejná třída ButtonDemo rozšiřuje Frame implementuje ActionListener {Button rb, gb, bb // tři referenční proměnné Button public ButtonDemo () // konstruktor definující vlastnosti tlačítka { FlowLayout fl = nový FlowLayout () // nastavit rozložení na rám setLayout (fl) rb = nové tlačítko ('červené') // převést proměnné na objekty gb = nové tlačítko ('zelené') bb = nové tlačítko ('modré') rb.addActionListener (this) // propojení tlačítek Java s ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // přidání každého Java tlačítka do rámečku add (gb) add (bb) setTitle ('Button v akci ') setSize (300, 350) // rozměry rámu, (šířka x výška) setVisible (true) // definování rámce viditelného na monitoru, výchozí je setVisible (false)} // přepsat pouze abstraktní metodu rozhraní ActionListener public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // k identifikaci kliknutí na tlačítko System.out.println ('Klikli jste na tlačítko + str +') '// 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 () // anonymous object of ButtonDemo to call the constructor}}

S tímto se dostáváme na konec tohoto článku posluchače akcí v článku Java. Doufám, že jste porozuměli Action Listener v Javě.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Výukové a certifikační kurzy Edureka Java J2EE a SOA jsou určeny pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými jávskými rámci, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Action Listener in Java“ a my se vám ozveme co nejdříve.