package com.vaadin.tests.components.combobox; import com.vaadin.event.ShortcutAction.KeyCode; import com.vaadin.server.VaadinRequest; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.ComboBox; import com.vaadin.ui.FormLayout; import com.vaadin.ui.UI; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.Window; /** * Ticket #12163: when a combo box popup is open in a subwindow, escape should * only close it and not the window, also on Safari 6. */ public class EscapeClosesComboboxNotWindow extends UI { final Window window = new Window("Window"); @Override protected void init(VaadinRequest request) { final VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); setContent(layout); Button button = new Button("Click Me"); button.addClickListener(new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { final FormLayout content = new FormLayout(); ComboBox cb = new ComboBox(); cb.addItem("foo"); cb.addItem("bar"); content.addComponent(cb); window.setContent(content); window.setCloseShortcut(KeyCode.ESCAPE); UI.getCurrent().addWindow(window); } }); layout.addComponent(button); } }