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"); } } }
출력