Я бы хотел перехватить Ctrl + F4 , чтобы закрыть вкладки TabPanel, а не вкладку браузера, в которой запущено мое приложение. Следующий код работает, если я сначала щелкните внутри панели вкладок:
Viewport v = new Viewport();
v.setLayout(new FitLayout());
v.add(panel);
v.addListener(Events.KeyDown, new Listener<BaseEvent>() {
public void handleEvent(BaseEvent be) {
KeyEvent ce = (KeyEvent)be;
if (ce.isControlKey()) {
if (ce.getKeyCode() == 115) {
System.out.println(ce.getKeyCode() + " Ctrl-f4");
ce.preventDefault();
ce.stopEvent();
}
}
};
});
Самое смешное, что если фокус находится за пределами TabPanel (которая, очевидно, находится внутри области просмотра), событие не срабатывает.
Есть идеи?