最初のページの選択に応じて 2 番目のウィザードのページのコンテンツを設定できるようになったので、ユーザーが最初のページの次のボタンをクリックしたときに、2 番目のページのコンテンツにフォーカスを与える方法を探しています。
デフォルトでは、ユーザーが [次へ] ボタンをクリックすると、ボタン コンポジット (ウィザードの構成に応じて [次へ]、[戻る]、または [終了] ボタン) にフォーカスが移ります。
ページのコンテンツにフォーカスを当てる唯一の方法は次のとおりです。
public class FilterWizardDialog extends WizardDialog {
public FilterWizardDialog(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
}
@Override
protected void nextPressed() {
super.nextPressed();
getContents().setFocus();
}
}
私にとって、この動作を実装するために WizardDialog クラスをオーバーライドする必要があるのは、少し「退屈で重い」ことです。さらに、WizardDialog javadoc は次のように述べています。
クライアントは をサブクラス
WizardDialog
化できますが、これが必要になることはめったにありません。
このソリューションについてどう思いますか? その仕事をするためのより簡単でクリーンなソリューションはありますか?