package com.vaadin.tests.tickets;
import com.vaadin.event.ShortcutAction.KeyCode;
import com.vaadin.event.ShortcutListener;
import com.vaadin.server.LegacyApplication;
import com.vaadin.ui.Label;
import com.vaadin.ui.LegacyWindow;
import com.vaadin.ui.Panel;
import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;
/**
* Key codes were converted to lower case on the server (overlapping special key
* codes for function keys etc.) and then back to upper case on the client.
* Therefore, registering e.g. F8 as a key code resulted in "w" being used as
* the trigger and F8 being ignored.
*/
public class Ticket5157 extends LegacyApplication {
@Override
public void init() {
final LegacyWindow mainWindow = new LegacyWindow(
"Forumtests Application");
setMainWindow(mainWindow);
VerticalLayout pl = new VerticalLayout();
pl.setMargin(true);
Panel p = new Panel(pl);
mainWindow.addComponent(p);
Label l = new Label("Panel with F8 bound");
pl.addComponent(l);
TextField f = new TextField();
pl.addComponent(f);
p.addAction(new ShortcutListener("F8", KeyCode.F8, null) {
@Override
public void handleAction(Object sender, Object target) {
mainWindow.showNotification(getCaption());
}
});
p.addAction(new ShortcutListener("a", KeyCode.A, null) {
@Override
public void handleAction(Object sender, Object target) {
mainWindow.showNotification(getCaption());
}
});
}
}