2009-11-23 2 views
1

몇 가지 JCheckBoxMnuItem이있는 메뉴가 있습니다. 내 선택을 모두 마친 (즉, 메뉴 항목을 검사 할 때까지) 메뉴 중 하나를 클릭 할 때까지 닫히지 않도록하려면 어떻게해야합니까?자바 메뉴 문제

답변

2

나는 응용 프로그램이나 메뉴 트리의 일부분에 대한 일반적인 메뉴 동작을 변경하려고하지 않을 것입니다. 사용자는 메뉴 항목을 클릭하면 메뉴가 자동으로 닫히게됩니다. 메뉴를 계속 확장 한 경우 마지막 선택을 마친 후에 수동으로 닫으려고 할 때 어떤 행동을 취할 수 있습니까?

하나의 유스 케이스 내에서 하나 이상의 설정을 변경해야하는 경우 사용이 변경 사항을 적용하고 한 번에 확인할 수있는 작은 대화 상자를 제공하는 것을 고려해야합니다. 나는 그것이 UI의 전형적인 행동과 더 일관성이 있다고 믿는다.

그리고 메뉴 표시 줄을 declutters, 당신은 내가 그것을 표준 UI와 함께이 작업을 수행하는 것이 좋습니다 동의 대신 다스 (?) 체크 박스 작업 한 '설정'메뉴 항목 :

+0

포인트를 더 명확하게 만들기 위해 글을 다시 번역 해 주셔서 감사합니다. 당신의 도움없이 무엇을 할 수 있습니까? ;) – pimpf0r

+0

아 com'on, 나는 단지 당신이 신중하게 대답 읽지 않았다. 내가 알았던 게시물이 정확히 당신의 조언 이었지만 삭제하고 싶지 않았습니다. +1 귀하의 답변에 대한 내 대답 :) –

+0

* 귀하의 * 게시물을 더 신중하게 읽은 후 나는 하나의 질문에 대답 할 때 더 설명해야 깨달았다. – pimpf0r

1

메뉴가 다중 선택을 허용하지 않는 것으로 생각됩니다. 그러나 메뉴를 사용하지 않고 메뉴 항목을 설정하는 키보드 단축키를 제공 할 수 있습니다.

플래그의 집합 연산이 응용 프로그램의 핵심 요소 인 경우 여기에서 대화 상자를 사용하는 경향이 있습니다. 이것들은 기존 컨트롤의 내부 구현을 변경할 필요가없는 모든 제안입니다. 비록 그것이 가능하다면, 스윙에서 가능할 것입니다.

0

을해야합니다 . 당신이 메뉴를 닫지 마십시오 체크 박스를 추가 할 할 경우, 그것은 의외로 간단하다

JCheckBox checkBox = new JCheckBox("Text"); 
checkBox.setOpaque(false); 
checkBox.setRequestFocusEnabled(false); 
menu.add(checkBox); 

이 모든 모습에서 작동과 느낌과 체크 박스 같은에서 메뉴 항목과 일치하지 않습니다하지 않을 수 있습니다 JMenuItems와 같은 방식으로 시작하지만 합리적인 출발점으로 보인다.