mobile menu

The Arrow Newsletter

mobile menu

자바 버튼 이벤트 예제

사용자가 단추를 클릭한 횟수를 표시하는 간단한 프로그램을 작성해 보겠습니다. 먼저 TextField , 단추 및 numClicks 변수를 설정하는 코드는 다음과 같습니다: 더 많은 예제: 비퍼 프로그램 예제는 이 트레일의 이벤트 소개, 이벤트 리스너 소개에서 확인할 수 있습니다. 당신은 Beeper.java에서 전체 프로그램을 찾을 수 있습니다. 이 섹션에서 설명하는 다른 예제인 MultiListener.java에는 두 개의 작업 소스와 두 개의 작업 수신기가 있으며 한 청취자는 두 소스를 모두 듣고 다른 예제는 하나만 듣습니다. 위의 코드에서 Button b는 이벤트 처리기 클래스 AL의 인스턴스가 등록된 구성 요소입니다. 마지막 페이지에서 “Hello, world” 메시지를 수동적으로 표시하는 응용 프로그램을 만들었습니다. 그러나, 그것은 빨리 지루해집니다. 이 장에서는 스윙 이벤트에 대해 이야기하고 JButton 클래스를 살펴보고 JLabel이 있는 JButton을 포함하는 작은 응용 프로그램을 빌드하고 이를 사용하여 레이아웃 의 개념을 소개합니다. 종료 버튼을 마우스 오른쪽 버튼으로 클릭합니다. 팝업 메뉴에서 이벤트를 선택합니다 .> 액션 –> 액션 수행.

메뉴에는 응답할 수 있는 더 많은 이벤트가 포함되어 있습니다! 작업을 선택하면수행 이벤트, IDE는 자동으로 종료 단추에 ActionListener를 추가 하 고 수신기의 작업을 처리 하기 위한 처리기 메서드를 생성 수행 메서드. 이제 사용자가 Button b를 클릭하면 단추는 작업 리스너의 동작을 호출하는 작업 이벤트를 실행합니다.수행 메서드. 사용자가 단추를 누를 때마다 numClicks 변수가 추가되고 메시지가 텍스트 필드에 표시됩니다. 작업 수신기는 구현할 가장 쉽고 일반적인 이벤트 처리기일 것입니다. 사용자가 특정 작업을 수행할 때 수행할 작업을 정의하기 위해 작업 리스너를 구현합니다. 이것은 JButton에 대 한 작업 이벤트를 처리 하는 방법에 대 한 예제입니다. 사용자가 작업을 수행할 때마다 작업 이벤트가 발생합니다. 예: 사용자가 단추를 클릭하고 메뉴 항목을 선택하면 텍스트 필드에 입력을 누릅니다. 결과적으로 작업수행 메시지가 관련 구성 요소에 등록된 모든 작업 수신기로 전송됩니다. 이를 위해 예를 들어 ActionListener를 사용하여 사용자가 화면 단추를 클릭하거나 키보드와 동등한 작업을 수행하는 경우를 감지하려면 프로그램에 ActionListener 인터페이스를 구현하는 개체가 있어야 합니다.

프로그램은 addActionListener 메서드를 사용하여 이 개체를 단추(이벤트 소스)의 작업 수신기로 등록해야 합니다. 사용자가 화면 단추를 클릭하면 단추에 작업 이벤트가 발생합니다. 이렇게 하면 작업 리스너 동작이 호출됩니다수행메서드(ActionListener 인터페이스의 유일한 메서드). 메서드에 대한 단일 인수는 이벤트 및 해당 소스에 대한 정보를 제공하는 ActionEvent 개체입니다. JButton 수신기 자주 묻는 질문 : 일반적인 자바 JButton 질문은 “JButton에 청취자를 추가하려면 어떻게해야합니까?”, 또는 이에 상응하는 “JButton을 누르면 어떻게 알 수 있습니까?” 이벤트는 스윙의 작동 방식의 기본 부분입니다. 사용자 부분에 대한 다양한 작업으로 인해 구성 요소는 다양한 유형의 이벤트를 발생시게 됩니다. 다른 Java 개체는 관심 있는 이벤트가 있는 모든 구성 요소와 함께 이벤트의 리스너로 등록할 수 있습니다. 수신기가 되려면 개체는 적절한 수신기 인터페이스(예: 작업 이벤트에 대한 ActionListener, 포커스 이벤트에 대한 FocusListener 등)를 구현해야 하며, 이 인터페이스에는 이벤트가 발생될 때 호출되는 메서드가 포함되어 있습니다.

이 예제에서는 구성 요소를 프레임에 추가할 뿐만 아니라 구성 요소를 이동해야 하는 위치를 지정했습니다. 다른 구성 요소를 포함하는 모든 구성 요소에는 구성 요소가 배치되는 방식을 제어하는 LayoutManager 개체가 있으며 다른 레이아웃 관리자는 구성 요소를 다르게 배치합니다. 레이아웃 관리자의 몇 가지 예는 그리드 레이아웃, 카드 레이아웃 및 테두리 레이아웃입니다. 이 마지막 은 JFrame의 기본 레이아웃 관리자입니다 (setLayout() 메서드를 사용하여 구성 요소의 레이아웃 관리자를 변경할 수 있음). 레이아웃 관리자는 이후 장에서 자세히 다루지만 BorderLayout 관리자는 공간을 5개 영역으로 나누고 각 영역은 BorderLayout 클래스의 상수와 연결됩니다.