Tabla de Contenidos
예를 들어 JButton(사용자가 작업을 트리거할 수 있는 Java 버튼)이 있다고 가정해 보겠습니다. 사용자가 JButton을 클릭하면 버튼 클릭 이벤트가 발생하여 생성 되어 해당 이벤트 리스너(이 경우 ActionListener)로 전송됩니다. 해당 리스너는 이벤트 발생 시 수행할 작업을 결정하는 코드를 구현했을 것입니다.
이벤트 소스는 업데이트된 이벤트 리스너와 쌍을 이루어야 합니다. 그렇지 않으면 이벤트 소스를 트리거해도 아무 작업도 수행되지 않습니다.
이벤트 작동 방식
Java에서 이벤트를 올바르게 처리하려면 이벤트의 소스와 리스너라는 두 가지 기본 요소를 알아야 합니다.
이벤트가 발생할 때 생성되는 객체를 이벤트 소스라고 합니다 . 반면에 리스너는 이벤트를 수신하고 이벤트가 발생하는 순간 처리하는 객체입니다 . Java는 여러 유형의 소스를 제공한다는 점에 유의해야 합니다.
또한 Java에는 여러 유형의 이벤트 및 리스너가 있습니다. 각 유형의 이벤트는 직접 구성되거나 특정 수신기에 바인딩됩니다. 예를 들어 일반적인 유형의 이벤트는 사용자가 목록의 항목이나 단추를 클릭할 때 실행되는 ActionEvent Java 클래스로 표시되는 작업 이벤트입니다.
그런 다음 사용자 작업에서 ActionEvent 클래스에 해당하는 개체가 생성되고 이는 관련 작업에 해당합니다. 이때 이 개체에는 모든 이벤트 소스 정보와 사용자가 수행한 특정 작업이 포함됩니다. 그런 다음 이 이벤트 객체는 해당 ActionListener, 즉 해당 리스너의 객체 메서드로 전환됩니다.
공허한 행동
이 절차가 실행되면 적절한 GUI 응답이 반환됩니다. 대화 상자를 열거나 닫고, 디지털 서명을 만들고, 파일을 다운로드하거나 인터페이스에서 사용자가 사용할 수 있는 다른 많은 작업이 될 수 있습니다.
이벤트 유형
아래에서는 Java에서 가장 일반적인 이벤트 유형 중 일부를 나열하고 설명합니다.
- ActionEvent : 버튼이나 목록 항목과 같은 그래픽 요소를 클릭했을 때의 동작을 나타냅니다. 관련 리스너: ActionListener.
- ContainerEvent – 예를 들어 사용자가 인터페이스에서 개체를 추가하거나 제거하는 경우 GUI 컨테이너 자체에서 발생하는 이벤트를 나타냅니다. 관련 리스너: ContainerListener .
- KeyEvent – 사용자가 키를 누르거나, 입력하거나, 손을 떼는 이벤트를 나타냅니다. 관련 리스너: KeyListener .
- WindowEvent : 창과 관련된 모든 이벤트를 나타냅니다(예: 창이 닫히고 활성화 또는 비활성화됨). 관련 리스너: WindowListener .
- MouseEvent – 클릭, 더블 클릭 등과 같은 마우스와 관련된 모든 이벤트를 나타냅니다. 관련 리스너: MouseListener .
여러 수신기와 이벤트 소스가 서로 상호 작용할 수 있다는 점에 유의해야 합니다. 예를 들어 단일 리스너는 동일한 유형인 경우 여러 이벤트를 등록할 수 있습니다. 즉, 동일한 유형의 작업을 수행하는 유사한 구성 요소 집합에 대해 하나의 이벤트 수신기가 모든 구성 요소를 처리할 수 있습니다. 마찬가지로 프로그램의 디자인에 적합하다면 단일 이벤트를 여러 리스너에 바인딩할 수 있지만 이는 훨씬 덜 일반적입니다.
참조
- 벨, B. (2003). 학생들을 위한 자바. 이용 가능: https://books.google.co.ve/books?id=TRUdyfwdaSoC&dq
- 하비, M. (2003). Java로 프로그래밍하는 방법. 이용 가능: https://books.google.co.ve/books?id=is2J44U4DpsC&dq