Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

이벤트 핸들링이란 무엇이며 Java에서 이벤트 핸들링의 구성 요소를 설명합니까?


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

출력

이벤트 핸들링이란 무엇이며 Java에서 이벤트 핸들링의 구성 요소를 설명합니까?