0

ユーザーが既存のアイテムを選択するか、新しいアイテムをインラインで作成できるエディターを作成しようとしています。たとえば、典型的な人と住所の関係を想像してみてください。ユーザーが人を編集するときに、既存の住所のセットから住所を選択するか、別のフォームに移動せずに新しい住所を作成できるフォームが必要です。

単純に、これには同じプロパティに対して2つの異なるエディターが必要なようです。とを持っているPersonAddress getAddress()しましょうsetAddress(Address)。私のクラスには、異なるタイプのPersonEditor名前の2つのサブエディターが必要です。address1つは既存の人物を選択し、もう1つは編集者の複合体を選択してAddressタイプに分類し、そのプロパティを編集できるようにします。

のドキュメントを読むとCompositeEditor、サブエディタを動的に選択するためにそれを利用する必要があるようです。ただし、ドキュメントは、インターフェイスの実装方法を実際に理解するのに十分なほど詳細ではありません。手がかりのためにどのように実装されているかを調べてみましたが、役に立ちましListEditorた。私の副編集者がさまざまなパスを編集しているので、ぴったりとは思えません。OptionalFieldEditorListEditor

たとえば、を使おうとすると、CompositeEditor何が返ってくるのかわからないのです。createEditorForTraversalgetPathElement

2つの異なるタイプのエディターの1つを1つのプロパティに動的にアタッチするにはどうすればよいですか?

4

1 に答える 1

0

私は最終的にこれを行うことができました。@Path同じ注釈を持つ2つのエディターを追加しただけです。私はエディターフレームワークがこれを許可することを期待していませんでしたが、それは機能しているようです!

于 2013-01-23T20:40:12.883 に答える