0

分割ペインを持つ小さな JAVAFX アプリケーションを開発しました。左側にはいくつかのボタンがあります。ボタンを押すと、別の FXML ページが読み込まれ、分割ペインの右側に配置されます (左 = ナビゲーション / 右 = コンテンツ)。

いいえ、コンテンツ ページにいくつかのテキスト フィールド、ラジオ ボタン、ドロップダウンなどがあります。コンテンツはデータベースから直接取得されます。また、コンテンツ ページに [保存] ボタンがあります。

ユーザーが保存ボタンを押すと、すべてのデータがデータベースに保存されます。それはすでに機能しています。しかし、ほとんどすべての「通常の」アプリケーションには、変更が失われる前にユーザーに通知する機能があります。そのため、ナビゲーション領域で別のボタンを押した場合、何かが変更されたという通知が必要です。

それを行う一般的な方法はありますか?コンテンツ ページはさまざまな人によって開発されるため、その機能を実行する方法をすべての人に説明したくはありません。

私のアイデアは抽象コントローラーであり、各コントローラー (コンテンツ ページから) はこの抽象コントローラーを拡張する必要があります。コンテンツ fxml ページをロードすることにより、ルート ペインをこのコンテンツ fxml ページから抽象コントローラーに渡す必要があります。次に、すべての要素を繰り返し処理し、キー リスナーを追加する必要があると考えました。誰かがナビゲーションの別のボタンを押したときに、実際のコントローラーのインスタンスを取得し、リスナーが呼び出されたかどうかを確認する必要があります。また、誰かが「保存」ボタンを押した場合、データが変更されたという情報を「削除」する必要があります。

これはそのようなことをする正しい方法ではないと思います。おそらく、コンテンツ fxml 内に異なるタブを持つタブ ペインがあります。そして、各タブには独自の保存ボタンを備えたテキストフィールドがあり、私の考えはもう機能していません。

多分私はオブザーバブルを扱う必要がありますか?

多くの挨拶とあらゆるアイデアは大歓迎です:-)

4

0 に答える 0