JFace 응용 프로그램에서 사용할 작업 세트를 만들고 해당 작업에 이미지를 할당하면 해당 이미지가 툴바 (내가 원하는 곳)과 메뉴 (내가 원하지 않는 곳)에서.JFace 메뉴의 모든 이미지를 비활성화 할 수 있지만 도구 모음에서 활성화 된 상태로 유지하는 방법은 무엇입니까?
완전히 다른 두 세트의 작업 (처음 작업 지점을 제거함)을 제공하는 것 외에 툴바에 이미지 만 표시하고 텍스트 만 표시하려면 어떻게해야합니까?
JFace 응용 프로그램에서 사용할 작업 세트를 만들고 해당 작업에 이미지를 할당하면 해당 이미지가 툴바 (내가 원하는 곳)과 메뉴 (내가 원하지 않는 곳)에서.JFace 메뉴의 모든 이미지를 비활성화 할 수 있지만 도구 모음에서 활성화 된 상태로 유지하는 방법은 무엇입니까?
완전히 다른 두 세트의 작업 (처음 작업 지점을 제거함)을 제공하는 것 외에 툴바에 이미지 만 표시하고 텍스트 만 표시하려면 어떻게해야합니까?
(한숨) . 반면에 각 작업은 컨트롤러에서 작업을 수행하기 위해 하나의 메서드를 호출하기 때문에 너무 교활하지 않고 쌍을 함께 그룹화하면 진행 상황이 합리적으로 명확 해집니다.
나는이에게 자신을 확인하지만,이 방법에게 looksee을 제공하지 않은 :
public int getStyle() { ... }
그것은 Action 클래스에서 정의하고 동작이 그래픽으로 표시되는 인터페이스 요소의 유형을 반환 나타나는 것 . 그럼 당신은 getImageDescriptor() 메소드를 오버라이드 (override) 할 수 :
public ImageDescriptor getImageDescriptor() {
if (getStyle() == AS_DROP_DOWN_MENU)
return null; // No icon in a menu
return someImageDescriptor; // Actual icon
}
나는이 문제도 만났다. (나는 툴바와 메뉴에 다른 텍스트가 필요했다.) 나는 동일한 행동을 사용했지만 두 가지 다른 경우를 사용했다.
// Use this one in the menu
Action a = new Action();
// Use this one in the toolbar
Action a2 = new Action();
a2.setImageDescriptor(img);
또는 도구 모음 버전의 작업에 이미지 설명자를 저장하고 메뉴 버전을 null로 설정할 수 있습니다.
불행히도, 내가 말할 수있는 한, 그것은 도움이되지 않을 것입니다. getStyle 값이 같은 경우 툴바와 메뉴에 동일한 액션이 사용됩니다. – David