스니펫:메뉴바의 높이 구하기

위클립스
이동: 둘러보기, 찾기
스니펫 분류
스니펫 (3)
스니펫/JDT (1)
스니펫/PDE (3)
스니펫/SWT (7)

API 계약을 위반하지 않고 이를 얻는 것은 꽤 골치 아픈일이다.

아래의 코드는 거의 해킹에 가깝지만 API 계약을 위반하지 않으며, 모든 플랫폼에서 잘 작동한다. 단 UI 스레드 내에서 수행 되어야 한다.

Shell dummyShell = new Shell();
Menu menu = new Menu(dummyShell, SWT.BAR);
dummyShell.setMenuBar(menu);
Rectangle boundsWithMenuBar = dummyShell.computeTrim(0, 0, 0, 0);
 
dummyShell.setMenuBar(null);
Rectangle boundsWithoutMenuBar = dummyShell.computeTrim(0, 0, 0, 0);
 
shell.dispose();
 
int menuHeight = boundsWithMenuBar.height - boundsWithoutMenuBar.height;
개인 도구
이름공간
변수
행위
포탈
탐색
도움
도구모음