ButtonModel
ButtonModel (버튼 상태 모델)
버튼의 상태 모델을 나타내는 인터페이스입니다. 일반 버튼뿐 아니라 체크 박스와 라디오 버튼 같은 특수 버튼에도 사용됩니다. ItemSelectable을 확장합니다.
본문
실제로는 버튼의 UI가 모델의 메서드를 호출하여 상태를 관리합니다. 간단히 말해, 일반 버튼 위에서 마우스를 누르고 놓으면 버튼이 트리거되고 ActionEvent가 발생합니다. 같은 동작은 보통 스페이스 바 키로도 만들 수 있으며, 버튼이 포커스를 가진 상태에서 키를 누르고 놓으면 같은 결과가 납니다. 체크 박스와 라디오 버튼은 이 시퀀스로 버튼이 선택됩니다.
마우스 사용 시: 버튼 위에서 마우스를 누르면 모델은 armed와 pressed 상태가 됩니다. 마우스가 버튼 밖으로 나가도 누르는 동안 pressed 상태를 유지하지만, armed 상태는 마우스가 버튼 경계 안에 있는 동안에만 유지됩니다. 모델이 armed 상태일 때 마우스를 놓으면 버튼이 트리거되고 ActionEvent가 발생하며, 모델은 unarmed와 unpressed가 됩니다.
키보드 사용 시: 버튼에 포커스가 있는 동안 룩앤필이 정의한 키를 누르면 모델이 armed와 pressed가 되고, 키를 놓으면 unarmed와 unpressed로 바뀌며 버튼이 트리거되고 ActionEvent가 발생합니다.