JMenuItem없이 JMenu (인스턴스 이름 : exitMenu)를 삽입 했으므로 불필요한 메뉴 항목을 사용하지 않고도 프로그램을 종료 할 수 있습니다. 하나의 JMenu 객체 (Someone might might says : WTF !!!하지만 ...).Java JMenu - 선택 및 선택 취소 기능
따라서이 특정 JMenu 구성 요소에서 발생한 이벤트를 캡처하기 위해 my 클래스는 MenuListener 인터페이스를 구현합니다. 모든 사람이 알고 있듯이, menuSelected() 메소드를 하나만 사용해야 할 필요는 있지만 세 가지 필수 구현 메소드가 있습니다.
내 프로그램을 조금 직관적으로 만들려면 의심 할 여지없이 사용자가 exitMenu를 선택하면 유명한 팝업 JOptionPane.showConfirmDialog()가 YES 또는 NO 옵션 중에서 선택해야하는 곳을 제시합니다.
프로그램이 System.exit (0)을 통해 끝났기 때문에 선택한 옵션이 예이면 전혀 문제가 없습니다. 문제는 NO 옵션으로 포커스가 프로그램으로 돌아 왔을 때 exitMenu가 선택된 상태로 남아 있습니다. 이전에 선택했기 때문에 물론입니다. "할 일"은 NO 옵션을 선택한 직후 개체 선택을 제거하여 사용자가 다시 클릭 할 수있게하는 것입니다.
exitMenu 구성 요소가 "선택 해제"되어 있지만 3 개의 필수 메소드 (하나는 다른 하나를 호출)에서 exitMenu.setSelected (false)를 사용하더라도 이벤트 리스너를 호출하려면 두 번 클릭해야합니다.
의견이 있으십니까? 사전에
감사합니다.
이
MenuListener
JMenuItem
가 : 뭔가 같은 'mainPanel.requestFocus와 같은 다른 장소 () '? – Fido나는 빌어 먹을 메서드 (requestFocus)의 이름을 기억하려고했지만 테스트를 통과했지만 불행히도 작동하지 않았습니다. 어쨌든 감사합니다. – LucDaher