Jak zaimplementować detektor akcji w Javie



W tym artykule znajdziesz szczegółową i wszechstronną wiedzę na temat narzędzia Action Listener w języku Java wraz z przykładami ułatwiającymi zrozumienie.

Gdy użytkownik wykona określoną czynność musi być w stanie skutecznie sobie z tym poradzić. W takich sytuacjach bardzo przydatne są narzędzia do słuchania akcji w Javie. W tym artykule omówimy następujące punkty:

Wprowadzenie do detektora akcji

Jako programista Twoim obowiązkiem jest zdefiniowanie, co odbiorca akcji może zrobić dla operacji użytkownika. Na przykład rozważmy prosty scenariusz, w którym użytkownik wybiera określoną pozycję z paska menu lub naciska klawisz Enter w polu tekstowym, aby przejść do nowego wiersza. Gdy takie funkcje użytkownika zostaną wykonane, do wszystkich odpowiednich detektorów akcji zdefiniowanych w odpowiednim komponencie wysyłany jest komunikat „akcja wykonana”.





Poniżej obrazowo opisuje, jak napisać odbiornik akcji:

Action-Listener-List



Tutaj kluczową i integralną częścią jest obiekt, który może implementować interfejs Action Listener. Ten obiekt musi być zidentyfikowany przez program jako detektor akcji na przycisku, który jest niczym innym jak źródłem zdarzenia.

Tak więc, korzystając z metody addActionListener, gdy użytkownik kliknie przycisk, wywołuje zdarzenie akcji. Wywołuje metodę actionPerformed detektora akcji. Należy pamiętać, że jest to jedyna metoda w interfejsie ActionListener. Pojedynczym argumentem metody jest obiekt ActionEvent, który dostarcza informacji o zdarzeniu i jego źródle

Klasa Action Event

Metody Opis
Ciąg getActionCommand ()

Zwraca ciąg znaków powiązany z tą akcją. Większość obiektów, które mogą uruchamiać zdarzenia akcji, obsługuje metodę o nazwie setActionCommand, która umożliwia ustawienie tego ciągu.



int getModifiers ()

Zwraca liczbę całkowitą, którą użytkownik naciskał podczas zdarzenia podczas akcji. Niektóre stałe zdefiniowane w ActionEvent, takie jak SHIFT_MASK, CTRL_MASK, META_MASK i ALT_MASK, są używane do określenia wciśniętych klawiszy. Na przykład, jeśli użytkownik wybierze pozycję menu, wyrażenie jest różne od zera

Obiekt getSource ()

(w java.util.EventObject)

Zwraca obiekt, który wywołał zdarzenie.

Implementacja detektora akcji w Javie

pakiet 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.JTextAenerTest klasa publiczna ActionsList ActionListener {JButton button Ramka JFrame 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.setVisible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Kliknąłeś przyciskn'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

W powyższym kodzie detektor akcji musi być zaimplementowany w klasie, zanim będzie można uzyskać do niego dostęp. Więc upewnij się, że dodałeś słowo kluczowe implements i listener.

button.addActionListener (this)

Oznacza to, że przycisk komponentu zostanie uwzględniony w komponentach śledzonych pod kątem zdarzenia akcji. Dodanie komponentu do detektora akcji jest obowiązkowe, aby można było dodawać kody, gdy użytkownik kliknie ten konkretny komponent. Komponenty, które nie zostały dodane z detektorem akcji, nie będą monitorowane.

Spójrzmy teraz na kolejny prosty przykład detektora akcji w Javie i jak to działa.

Przykład 2:

Tutaj są 3 proste obiekty przycisków Java, które nazywane są jako czerwony, zielony i niebieski. W zależności od kliknięcia przycisku zmienia się kolor tła ekranu.

Poniższe schematy przedstawiają odpowiednie wyjście kodu, który znajduje się na końcu tego dokumentu. Pokazano tylko jeden przypadek zmiany koloru ekranu na niebieski. Inne kolory, takie jak czerwony i zielony, można wyświetlić za pomocą tego kodu.

Obiekt przycisku „rb” jest powiązany z ActionListener. „Ten” parametr reprezentuje ActionListener. O ile linkowanie nie zostało zakończone, program wyświetli 3 przyciski, ale bez obsługi zdarzeń.

Metoda getActionCommand () klasy ActionEvent zwraca etykietę odpowiedniego przycisku klikniętego przez użytkownika w postaci ciągu. str.

import java.awt. * import java.awt.event. * public class ButtonDemo extends Frame implementuje ActionListener {Button rb, gb, bb // trzy zmienne odwołań do przycisku Button public ButtonDemo () // konstruktor do definiowania właściwości przycisku { FlowLayout fl = new FlowLayout () // ustaw układ na ramkę setLayout (fl) rb = new Button ('Red') // konwertuj zmienne na obiekty gb = new Button ('Green') bb = new Button ('Blue') rb.addActionListener (this) // połącz przyciski Java z ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // dodaj każdy przycisk Java do ramki add (gb) add (bb) setTitle ('Przycisk in Action ') setSize (300, 350) // wymiary klatki, (szerokość x wysokość) setVisible (true) // definiowanie klatki widocznej na monitorze, domyślnie setVisible (false)} // nadpisanie tylko abstrakcyjnej metody interfejsu ActionListener public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // do identyfikacji klikniętego przycisku System.out.println ('Kliknąłeś' + str + 'przycisk') // 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 () // anonimowy obiekt ButtonDemo do wywołania konstruktora}}

W ten sposób dochodzimy do końca artykułu Action Listener in Java. Mam nadzieję, że rozumiesz Action Listener w Javie.

utwórz tablicę obiektów java

Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Action Listener in Java”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.