Java ActionListener отримує сповіщення кожного разу, коли ви натискаєте кнопку або пункт меню. Його сповіщають про ActionEvent. Інтерфейс ActionListener знаходиться в java.awt.event пакет . Він має лише один метод: actionPerformed().
метод actionPerformed().
Метод actionPerformed() викликається автоматично кожного разу, коли ви клацаєте зареєстрований компонент.
public abstract void actionPerformed(ActionEvent e);
Як написати ActionListener
Загальним підходом є реалізація ActionListener. Якщо ви реалізуєте клас ActionListener, вам потрібно виконати 3 кроки:
1) Реалізуйте інтерфейс ActionListener у класі:
public class ActionListenerExample Implements ActionListener
2) Зареєструйте компонент у Listener:
component.addActionListener(instanceOfListenerclass);
3) Замініть метод actionPerformed():
public void actionPerformed(ActionEvent e){ //Write the code here }
Приклад Java ActionListener: натискання кнопки
import java.awt.*; import java.awt.event.*; //1st step public class ActionListenerExample implements ActionListener{ public static void main(String[] args) { Frame f=new Frame('ActionListener Example'); final TextField tf=new TextField(); tf.setBounds(50,50, 150,20); Button b=new Button('Click Here'); b.setBounds(50,100,60,30); //2nd step b.addActionListener(this); f.add(b);f.add(tf); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } //3rd step public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } }
Вихід:
Приклад Java ActionListener: використання анонімного класу
Ми також можемо використовувати анонімний клас для реалізації ActionListener. Це скорочений спосіб, тому вам не потрібно виконувати 3 кроки:
b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } });
Давайте подивимося повний код ActionListener з використанням анонімного класу.
import java.awt.*; import java.awt.event.*; public class ActionListenerExample { public static void main(String[] args) { Frame f=new Frame('ActionListener Example'); final TextField tf=new TextField(); tf.setBounds(50,50, 150,20); Button b=new Button('Click Here'); b.setBounds(50,100,60,30); b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } }); f.add(b);f.add(tf); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } }
Вихід: