확장 클래스가 ColumnViewerToolTipSupport
입니다. 이 클래스는 createViewerToolTipContentArea()
을 무시하고 툴팁에 맞춤 콘텐츠를 제공합니다.기본 셸 수신기 대신 ESC 키를 사용하여 사용자 지정 수신기를 호출하는 방법?
툴팁이 열려있는 동안 ESC 키를 누르면 shell.close()
메서드가 호출됩니다. 툴팁 셸에 키 리스너가 추가 된 경우에도 shell.close()
자체가 호출됩니다.
코드 아래 리스너 :
@Override
protected Composite createViewerToolTipContentArea(Event event, ViewerCell cell, final Composite shell) {
Display.getDefault().getActiveShell().addListener(SWT.KeyDown, new Listener() {
@Override
public void handleEvent(final Event event) {
if (event.type == SWT.KeyDown) {
System.out.println("key pressed ..........close shell");
}
}
});
}
어떤 실수 있나요?
이벤트를 수신하는 것만으로 다른 리스너가하는 일을 변경하지 않습니다. –
쉘 리스너 대신 리스너를 호출하기 위해 여기서 무엇을 할 수 있습니까 ?? –
'getListeners (SWT.KeyDown)'을 호출하고 리스너를 제거해 볼 수 있습니다. –