ダイアログが表示される前に、org.gwtbootstrap3.client.ui.Input
ダイアログ ( ) の特定のフィールド ( ) にフォーカスを設定したいと考えています。Upload textやAdd feed dialogs right hereorg.gwtbootstrap3.client.ui.Modal
のような単一のフィールドを持つダイアログがある場合、使用例は非常に一般的です。ただし、この特定のgwtbootstrap3コンポーネントにフォーカスを設定する方法がわかりませんでした。
Input
コンポーネントにはメソッドsetFocus(true)
があります。ダイアログを表示する前にフォーカスを設定しても機能しないと思いましたが、機能しません。したがって、論理的な解決策は、メソッド呼び出しを a 内に配置することScheduledCommand
です。このような:
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
textField.setFocus(true);
}
});
これは通常、GWT 標準コンポーネントで機能しますが、この場合は役に立たないようです。を通じてダイアログが表示されたら、通知を受け取る方法を見つけましたModalShowHandler
。このような:
modal.addShowHandler(new ModalShowHandler() {
@Override
public void onShow(ModalShowEvent evt) {
textField.setFocus(true);
}
});
ハンドルに遅延呼び出しを追加して、両方を結合しようとさえしました。運がない。何か案は?