私はVaadinに焦点を当てて問題があります。この問題は、新しいウィンドウ(ダイアログ)を開いたときなどに発生します。ボタンをクリックする:Vaadinはフォーカスされた要素を取得
new Window(caption, component);
ウィンドウが閉じると、メソッドclose()が実行されます。このようなウィンドウクラスからの実装:
public void close() {
UI uI = getUI();
// Don't do anything if not attached to a UI
if (uI != null) {
// focus is restored to the parent window
uI.focus();
// window is removed from the UI
uI.removeWindow(this);
}
}
示されているように、フォーカスは、ウィンドウを開いたコンポーネントの代わりにUIに設定されています。コンポーネントのフォーカスを例えばに設定する方法はありますか?ウィンドウを開いたボタン?私は一般的な解決策を探しています。私はウィンドウクラスを拡張し、コンポーネントのフィールドを作成する回避策があります。ウィンドウが作成された後、コンポーネントフィールドをウィンドウを開いたものに設定します。しかし、私が言ったように - 私は回避策としてそれを参照してください。
私はそれを第1のポイントで説明したのと同じ方法で実装しました。しかし残念なことに汎用的ではなく、Windowを使用しているコンポーネントには多くの変更が必要です。 – Adam