Имеет смысл использовать функцию полезности; Если и когда GWT наконец-то заставит работать setFocus, вам не придется менять исходный код в нескольких местах.
е должно причинять мне столько боли, но это так. Это очень странная проблема. В приложении GWT у меня есть два файла .java, login.java и application.java. В login.java я создаю страницу входа пользователя, где, если имя пользователя и пароль подтверждены, пользователь входит в приложение, и application.java берет отсюда.
Сейчас в приложении. onModuleLoad () Java это то, как я начинаю со страницы входа.
public void onModuleLoad() {
Login login = new Login();
login.textBoxUsername.setFocus(true);
RootLayoutPanel.get().add(login);}
Это прекрасно работает, за исключением крошечной проблемы невозможности установить фокус на имени пользователя TextBox при загрузке страницы. Я попробовал все, что мог придумать. Но фокус просто не устанавливается на TextBox. Если кто-то может предложить решение, пожалуйста, сделайте. Ваша помощь очень ценится.
Решение: (В случае, если это помогает любому, кто сталкивается с той же проблемой)
final Login login = new Login();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute () {
login.textBoxUsername.setFocus(true);
}
});
RootLayoutPanel.get().add(login);