Java의 GUI는 마우스를 통해 사용자와의 상호작용을 처리합니다. , 키보드 버튼과 같은 다양한 사용자 컨트롤 , 체크박스 , 텍스트 필드 , 등을 이벤트로 사용합니다. 이러한 이벤트는 Java를 이벤트 기반 프로그래밍으로 구현하기 위해 적절하게 처리되어야 합니다.
이벤트 처리의 구성요소
- 이벤트
- 이벤트 소스
- 이벤트 리스너/핸들러
이벤트
- 이벤트는 소스 개체의 상태 변경을 설명하는 개체로 정의됩니다. .
- 자바는 java.awt.event 내에서 이러한 이벤트 클래스의 수를 정의합니다. 패키지
- 일부 이벤트는 ActionEvent입니다. , 마우스 이벤트 , 키 이벤트 , 포커스 이벤트, 항목 이벤트 등
이벤트 소스
- 소스는 이벤트를 생성하는 개체입니다. .
- 이벤트 생성은 해당 개체의 내부 상태가 어떤 식으로든 변경될 때 발생합니다.
- 소스는 리스너를 등록해야 합니다. 리스너가 특정 유형의 이벤트에 대한 알림을 수신할 수 있도록 합니다.
- 일부 이벤트 소스는 버튼입니다. , 체크박스 , 목록 , 선택 , 창 등
이벤트 리스너
- 리스너는 이벤트가 발생하면 알림을 받는 개체입니다. .
- 리스너에는 두 가지 주요 요구 사항이 있습니다. 이벤트 알림을 수신하려면 하나 이상의 소스 개체에 등록해야 합니다. 그리고 반드시 이러한 알림을 수신하고 처리하는 방법 구현 .
- Java는 java.awt.event 아래에 이벤트를 수신하고 처리하기 위한 인터페이스 세트를 정의했습니다. 패키지.
- 일부 리스너는 ActionListener입니다. , 마우스 리스너 , ItemListener , KeyListener , 창 수신기 등
예시
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class EventListenerTest extends JFrame implements ActionListener {
JButton button;
public static void main(String args[]) {
EventListenerTest object = new EventListenerTest();
object.createGUI();
}
void createGUI() {
button = new JButton(" Click Me !");
setSize(300,200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == button) {
JOptionPane.showMessageDialog(null, "Generates an Action Event");
}
}
} 출력
