私は自分の足をjavafxで濡らしています。これは私がやっていることです。シンコントローラ
FXML Views
DI Controllers
Weld-SE Managed Services and Models
Trying to confine UI to FXML
Trying keep the Controllers thin
問題:UIをコーディングしようとしますが
、ほとんどの静的なUIは、FXMLの内側に閉じ込められています。しかし、自分自身が追加、削除、表示、隠し要素などを見つけるシナリオがあります。
私は自分自身がコントローラ内でこれをやっていると思います。コントローラのメソッドをfxで設定することで、特定のアクション/イベント。このコードはすべて、動的UIの構築/操作を扱い、ビューレイヤーに属しています。しかし、それはコントローラを脂肪にしてしまいます。
javafxはjavascriptとの統合を提供します。これは、そのビューのマンピュレーションコードを抽象化するための1つの方法です。しかし、これはミックスに完璧なjavascriptを追加しません。
シンコントローラパラダイムを壊さないように、コードをJavaまたはfxmlで抽象化するにはどうすればよいですか?
EDIT
@assylias合意
、私はこれとJavaクラスとFXMLは一緒に再利用可能なウィジェットになることをこの方法について考えています。しかし、それをFXMLにどのように組み込むのですか? FXMLはコントローラー以外何も理解していません。私は、このビュークラスをfx:controllerを使用してfxmlに配線し、それにコントローラ名を付けないとします。だから私はこれのようなものを持っている。
このビュークラスでは、ビューの操作コードが、何もしています。次に、別のコントローラクラスを作成します。しかし、私は何とかフォームデータをこのコントローラに入力すると予想されます。これは、ユーザーがフォームを送信したときにのみ発生します。だから、どういうわけかjavafxに、UI操作要求/イベントが実際のデータ操作要求/イベントと異なることを伝える必要があります。
あなたの考えは、冗長であれば申し訳ありません。私はできるだけ少ない言葉でそれを明確にしようとしました。
動的な処理を行うJavaビュー(コントローラーの第1レイヤー)と最初のものを拡張する適切なJavaコントローラーを持つことができます。 (それがうまくいくかどうか、ちょうどアイデア)。 – assylias
MVCパターンを適用しようとしたようですが、ほとんどのシナリオでは必要ありません。 Java FXのコントローラは、あなたがすでに把握しているようにMVCパターンのコントローラではありません(あなたのダイアグラムのView Class)。では、どのような問題を解決したいですか?サンプルを提供できますか? – Puce
私は自分のコードをより良く整理し、コードの乱れを避ける方法を見つけたいと考えていました。私は他の人が私の前でこの問題の方法を見つけなければならないと思い、回避策を見つけたに違いないと思った。 – ShaggyInjun