ButtonModel

ButtonModel (버튼 상태 모델)

버튼의 상태 모델을 나타내는 인터페이스입니다. 일반 버튼뿐 아니라 체크 박스와 라디오 버튼 같은 특수 버튼에도 사용됩니다. ItemSelectable을 확장합니다.

출처: Java API Reference

본문

실제로는 버튼의 UI가 모델의 메서드를 호출하여 상태를 관리합니다. 간단히 말해, 일반 버튼 위에서 마우스를 누르고 놓으면 버튼이 트리거되고 ActionEvent가 발생합니다. 같은 동작은 보통 스페이스 바 키로도 만들 수 있으며, 버튼이 포커스를 가진 상태에서 키를 누르고 놓으면 같은 결과가 납니다. 체크 박스와 라디오 버튼은 이 시퀀스로 버튼이 선택됩니다.

마우스 사용 시: 버튼 위에서 마우스를 누르면 모델은 armed와 pressed 상태가 됩니다. 마우스가 버튼 밖으로 나가도 누르는 동안 pressed 상태를 유지하지만, armed 상태는 마우스가 버튼 경계 안에 있는 동안에만 유지됩니다. 모델이 armed 상태일 때 마우스를 놓으면 버튼이 트리거되고 ActionEvent가 발생하며, 모델은 unarmed와 unpressed가 됩니다.

키보드 사용 시: 버튼에 포커스가 있는 동안 룩앤필이 정의한 키를 누르면 모델이 armed와 pressed가 되고, 키를 놓으면 unarmed와 unpressed로 바뀌며 버튼이 트리거되고 ActionEvent가 발생합니다.

더 알아보기 (Learn more)

Java 공식 API