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); } }
산출: