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) Регистрирайте компонента с слушателя:
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); } }
Изход: