私のアプリケーションでは、すべての必須フィールドが入力されていない限り、 次のボタンが無効になっているマルチステップフォームウィザードがあります。無効なボタンのJavaFXキャプチャイベント
一部のフィールドでは、ディレクトリピッカーのように、ディレクトリが存在するかどうかを確認する などの追加の検証が必要です。
ユーザーエクスペリエンスを簡単にするために、ディレクトリテキストフィールドの隣に「無効なディレクトリ」ツールチップ を表示する必要があります。
無効なボタンをクリック/入力しようとすると、ツールチップが表示されます。 次のボタンをクリックしてください。
JavaFXの無効なボタンで実行されるイベントをキャプチャすることは可能ですか?
public void nextEntered(Event event) {
Button button = (Button)event.getSource();
if(button.isDisabled()){
validate(currentTab);
}
}
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#disabledProperty "無効なノードはマウスまたはキーイベントを受け取りません。"だから私はあなたの最善の策は、シーン内のマウスの位置を確認し、カーソルがボタンの境界を横切っている場合、ツールチップを生成することだと思います。 –
選択した直後にディレクトリを検証しないのはなぜですか? InputFieldのTextPropertyにChangeListenerを追加することも、JavaFX FileChooserを使用する場合は、フォルダが存在するかどうかを直接確認することもできます。 – Rikan
@el_chupacabraそれは私がやったことです、私はシーンにイベントリスナーを追加し、クリックの座標がボタンの境界内にあるかどうかをチェックします。より洗練されたソリューションがあれば疑問に思っていました。ありがとうございました。 – johndoe