1

特定の Java オブジェクトを指定して、その特定のプロパティを構成するためのビジュアル インターフェイスを実行時に生成したいと考えています。この生成されたインターフェイスで構成するオブジェクト プロパティは、注釈を使用して指定できます。これらは、プリミティブ型 (またはそのラッパー) + 文字列およびこれらの型の配列またはコレクションにすることができます。特定のプロパティを構成するためのビジュアル コンポーネントのタイプは、そのようなプロパティのタイプによって異なります (たとえば、2 つの選択肢しかないリスト ビューでブール値を構成できます)。

これを行うためのライブラリは Java に既に存在しますか? 私は自分のアプリケーションで JavaFX を使用していますが、これがこのフレームワークに既に存在するという希望はありません (ただし、間違っていれば幸いです)。ただし、これを行う Swing ライブラリが存在する場合は、それを JavaFX インターフェースに埋め込むことができるかもしれません。

4

1 に答える 1

2

SceneBuilderにはビジュアル オブジェクト プロパティ エディタが組み込まれていることは間違いありませんが、残念ながらオープン ソース プロジェクトではなく、機能が豊富な純粋な JavaFX オープン ソース プロジェクトを知りません。したがって、純粋な JavaFX ソリューションが必要な場合は、自分でコーディングを行う準備をしてください。

これを行うための基本的なアプローチは、TableView を使用し、オブジェクト メンバーのタイプ (または、必要に応じて注釈またはJavaFX ビルダー) をイントロスペクションし、そのイントロスペクションの基礎として、セル ノードを生成するためのセル ファクトリを使用して、表示と処理を処理することです。 TableView に表示されるセルの編集。

JavaFX TableView の 1 つの列にある複数のコンポーネントへの回答から取得した、いくつかの基本的な型 (文字列とブール値) の JavaFX プロパティ エディターのサンプル コードを次に示します。

JavaFX には、ソリューションを構築するためのビルディング ブロックとして機能するいくつかの基本的なセル ファクトリのライブラリが含まれています。

DataFXには、Java Beans、JDBC、XML、CSV などのさまざまなデータ ソースから UI コントロール セル ファクトリを生成するためのコードが含まれています。

「フォームの自動生成と Bean プロパティへのバインド」を行うFXForm2 プロジェクトをご覧になることをお勧めします。

あなたが言及したように、これを行うSwingライブラリが存在する場合(Swingライブラリが何であるかを知るのに十分なほど精通していませんが、存在すると確信しています)、それをJavaFXインターフェースに埋め込むことができるはずです(Java 8 の SwingNodeを使用します)。

于 2013-05-27T21:03:39.487 に答える