blob: 52dc916824bfd8f4039aaaf6fcb80750fa93879b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
package com.vaadin.tests.components.window;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
public class InitialFocus extends AbstractTestUI {
public static final String FOCUS_NAME_BUTTON_ID = "focusNameButton";
public static final String FOCUS_GENDER_BUTTON_ID = "focusGenderButton";
public static final String NAME_FIELD_ID = "nameField";
public static final String GENDER_FIELD_ID = "genderField";
@Override
protected void setup(VaadinRequest request) {
Button focusNameButton = new Button("Open Window and focus Name");
focusNameButton.setId(FOCUS_NAME_BUTTON_ID);
focusNameButton.addClickListener(event -> {
MyDialog myDialog = new MyDialog();
myDialog.setClosable(true);
myDialog.center();
getUI().addWindow(myDialog);
myDialog.bringToFront();
myDialog.focusNameField();
});
addComponent(focusNameButton);
Button focusGenderButton = new Button("Open Window and focus Gender");
focusGenderButton.setId(FOCUS_GENDER_BUTTON_ID);
focusGenderButton.addClickListener(event -> {
MyDialog myDialog = new MyDialog();
myDialog.setClosable(true);
myDialog.center();
getUI().addWindow(myDialog);
myDialog.bringToFront();
myDialog.focusGenderField();
});
addComponent(focusGenderButton);
}
private static class MyDialog extends Window {
private TextField nameField;
private ComboBox genderField;
private MyDialog() {
super("MyDialog");
setWidth("400px");
setHeight("300px");
VerticalLayout hl = new VerticalLayout();
hl.setSizeFull();
nameField = new TextField("Name");
nameField.setId(NAME_FIELD_ID);
hl.addComponent(this.nameField);
genderField = new ComboBox("Gender");
genderField.setId(GENDER_FIELD_ID);
hl.addComponentsAndExpand(genderField);
this.setContent(hl);
}
private void focusNameField() {
nameField.focus();
}
private void focusGenderField() {
genderField.focus();
}
}
}
|