アプリケーションGUIコンポーネントツリーを構築する好ましい方法は何ですか?guiコンポーネントツリーを構築する好ましい方法
すべてのコンポーネントをインスタンス化し、ツリー全体を構築し、ユーザーイベントの表示/非表示/無効/有効操作で制御します。
ユーザーイベントに基づいてコンポーネントの作成/追加/削除を動的に作成します。
特にこのJavaFXの設計上の問題に興味があります。
アプリケーションGUIコンポーネントツリーを構築する好ましい方法は何ですか?guiコンポーネントツリーを構築する好ましい方法
すべてのコンポーネントをインスタンス化し、ツリー全体を構築し、ユーザーイベントの表示/非表示/無効/有効操作で制御します。
ユーザーイベントに基づいてコンポーネントの作成/追加/削除を動的に作成します。
特にこのJavaFXの設計上の問題に興味があります。
申し訳ありませんが、JavaFXについてよくわかりません。
しかし、私はオプション2を提案します。最初にすべてをインスタンス化すると、実際に表示されているguiコンポーネントに対して実際にメモリを使用する必要があるだけで、メモリが大量に消費されます。
現在の画面のすべてのコンポーネントを作成し、表示/非表示/無効/有効にします。ただし、現在の画面/ウィンドウ/フォーム/ダイアログには表示されないコンポーネントを作成しないでください。
答えは主にパフォーマンスに依存します。私は〜3000ノードで木を作りました。問題はありません。ある時点では、シーンに追加されるノードの数はパフォーマンスに影響しますが、これはJavaFXの各リリースがこれで改善しているため、これは動くターゲットです。
ただし、「BindStorming」の可能性があるため、このパフォーマンス低下のすべてがノードの数に起因するわけではありません。 Jim Connors blogを参照してください。