2012-11-04 2 views
2

내 프로그램에서 내 콤보 상자의 선택한 항목을 변경할 수 있습니다. 하지만 항목 변경이 항목 마우스 나 프로그램에서 사람이 마우스를 클릭하여 발생했는지 어떻게 알 수 있습니까?마우스 JComboBox의 항목에 대한 이벤트

저는 JComboBox 자체가 아닌 JComboBox의 항목에 추가 할 수있는 MouseListener를 찾고 있습니다.

+5

코드를 사용하여 게임을 할 수 있습니까? 또한 ItemListener 사용을 고려 했습니까? –

답변

3

JComboBox는 컴파운드 컴퍼넌트이며, MouseListener와 같은 저수준 리스너를 사용하지 않는 것이 좋습니다. 대신 코드가 항목을 선택할 때 선택 리스너 (아마도 당신이 ActionListener를 사용 중입니다)를 비활성화 한 다음 선택이 완료된 후에 다시 활성화하십시오. 따라서 ActionListener에 의한 모든 액티비티는 사용자가 선택한 것임을 알 수 있습니다. 리스너를 제거하고 다시 추가하거나 리스너가 부울이 참일 때만 반응하도록 허용하는 부울 변수를 사용하여 리스너를 비활성화하고 활성화 할 수 있습니다.