자바에서 액션 리스너를 구현하는 방법



이 기사는 더 나은 이해를위한 예제와 함께 Java의 Action Listener에 대한 상세하고 포괄적 인 지식을 제공합니다.

사용자가 특정 동작을 수행 할 때 효과적으로 처리 할 수있는 위치에 있어야합니다. Java의 액션 리스너는 이러한 상황에서 매우 유용합니다. 이 기사에서는 다음 사항에 대해 논의 할 것입니다.

액션 리스너 소개

프로그래머는 액션 리스너가 사용자 작업을 위해 무엇을 할 수 있는지 정의하는 것이 당신의 의무입니다. 예를 들어, 사용자가 메뉴 모음에서 특정 항목을 선택하거나 텍스트 필드에서 Enter 키를 눌러 새 줄로 이동하는 간단한 시나리오를 고려해 보겠습니다. 이러한 사용자 기능이 완료되면 '작업 수행'메시지가 관련 구성 요소에 정의 된 모든 해당 작업 리스너로 전송됩니다.





아래는 액션 리스너를 작성하는 방법을 그림으로 설명합니다.

자바에서 직렬화 가능한 것

Action-Listener-List



여기서 중요하고 필수적인 부분은 Action Listener 인터페이스를 구현할 수있는 객체입니다. 이 객체는 프로그램에서 이벤트 소스에 불과한 버튼의 액션 리스너로 식별되어야합니다.

따라서 addActionListener 메소드를 사용하여 사용자가 버튼을 클릭하면 액션 이벤트가 발생합니다. 그러면 작업 리스너의 actionPerformed 메서드가 호출됩니다. ActionListener 인터페이스의 유일한 방법입니다. 메서드에 대한 단일 인수는 이벤트 및 해당 소스에 대한 정보를 제공하는 ActionEvent 객체입니다.

액션 이벤트 클래스

행동 양식 기술
문자열 getActionCommand ()

이 작업과 관련된 문자열을 반환합니다. 액션 이벤트를 실행할 수있는 대부분의 개체는이 문자열을 설정할 수있는 setActionCommand라는 메서드를 지원합니다.



int getModifiers ()

액션 이벤트 중 사용자가 눌렀 던 정수를 반환합니다. SHIFT_MASK, CTRL_MASK, META_MASK 및 ALT_MASK와 같은 일부 ActionEvent 정의 상수는 누른 키를 결정하는 데 사용됩니다. 예를 들어 사용자가 메뉴 항목을 선택하면 표현식은 0이 아닙니다.

객체 getSource ()

(java.util.EventObject에서)

이벤트를 발생시킨 개체를 반환합니다.

자바에서 액션 리스너 구현

package com.javapointers.javase import java.awt.BorderLayout import java.awt.event.ActionEvent import java.awt.event.ActionListener import javax.swing.JButton import javax.swing.JFrame import javax.swing.JTextArea public class ActionListenerTest 구현 ActionListener {JButton 버튼 JFrame 프레임 JTextArea textArea public ActionListenerTest () {button = new JButton ( 'Click Me') frame = new JFrame ( 'ActionListener Test') textArea = new JTextArea (5, 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (new BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (button, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVisible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ( 'You have clicked the buttonn'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

위 코드에서 액션 리스너는 액세스하기 전에 클래스에 구현되어야합니다. 따라서 implements 키워드와 리스너를 추가해야합니다.

초보자를위한 informatica 자습서 pdf 무료 다운로드

button.addActionListener (this)

이는 작업 이벤트에 대해 추적되는 구성 요소에 구성 요소 버튼이 포함된다는 것을 의미합니다. 사용자가 특정 구성 요소를 클릭 할 때 코드를 추가하려면 작업 리스너에 구성 요소를 추가해야합니다. 작업 리스너로 추가되지 않은 구성 요소는 모니터링되지 않습니다.

이제 Java에서 Action Listener의 또 다른 간단한 예와 작동 방식을 살펴 보겠습니다.

예 2 :

여기에는 Red, Green 및 Blue로 명명 된 3 개의 간단한 Java 버튼 객체가 있습니다. 클릭 한 버튼에 따라 배경 화면 색상이 변경됩니다.

인스턴스 자바는 무엇입니까

아래 다이어그램은이 문서의 끝에있는 코드의 각 출력을 보여줍니다. 파란색으로 변하는 화면의 인스턴스가 하나만 표시되었습니다. 이 코드를 구현하면 빨강 및 녹색과 같은 다른 색상을 볼 수 있습니다.

버튼 객체 'rb'는 ActionListener와 연결됩니다. 'this'매개 변수는 ActionListener를 나타냅니다. 연결이 완료되지 않은 경우 프로그램은 이벤트 처리없이 3 개의 버튼을 표시합니다.

ActionEvent 클래스의 getActionCommand () 메서드는 사용자가 클릭 한 해당 버튼의 레이블을 문자열로 되돌립니다. str.

import java.awt. * import java.awt.event. * public class ButtonDemo extends Frame 구현 ActionListener {Button rb, gb, bb // 세 개의 Button 참조 변수 public ButtonDemo () // 생성자는 버튼에 속성을 정의합니다 { FlowLayout fl = new FlowLayout () // 레이아웃을 프레임으로 설정 setLayout (fl) rb = new Button ( 'Red') // 변수를 객체로 변환 gb = new Button ( 'Green') bb = new Button ( 'Blue') rb.addActionListener (this) // Java 버튼을 ActionListener와 연결 gb.addActionListener (this) bb.addActionListener (this) add (rb) // 각 Java 버튼을 프레임에 추가 add (gb) add (bb) setTitle ( 'Button in Action ') setSize (300, 350) // 프레임 크기, (너비 x 높이) setVisible (true) // 모니터에 표시되는 프레임 정의, 기본값은 setVisible (false)} // ActionListener 인터페이스의 추상 메서드 만 재정의 public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // 클릭 한 버튼 식별 System.out.println ( 'You clicked'+ str + 'button') // if (str.equals ( 'Red')) {setBackground (Color.red)} else if (str.equals ( 'Green')) {setBackground (Color.green)} else if (str.equals ( 'Blue') ) {setBackground (Color.blue)}} public static void main (String args []) {new ButtonDemo () // 생성자를 호출 할 ButtonDemo의 익명 객체}}

이것으로, 우리는 자바에서이 액션 리스너의 마지막에 왔습니다. Java의 Action Listener에 대해 이해 하셨기를 바랍니다.

확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 'Action Listener in Java'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.