実行時に変更できるモデルがあります。例を次に示します。
public class JavaMethod
{
private String name;
private List<Parameter> parameters;
private boolean isConstructor; // this is an example
}
パラメータには、異なるタイプ ( integer
、boolean
、string
、float
...) と異なる有効値を指定できます。たとえば、ageという名前の整数パラメーターは、正の整数のみを保持できます。
問題は、そのJavaMethod
オブジェクトを構成するために Swing でビューを生成したいのですが、それを行う適切な方法がわかりません。
たとえば、正の整数であるageJTextField
パラメータは、負の文字を入力できないように拡張するクラスにリンクされます。8 ~ 12 の範囲のnumberOfFingersという名前の別の整数パラメーターJComboBox
は、その範囲内のオプションの選択を可能にする拡張クラスにリンクされます。
Parameter オブジェクトに適切な Swing コンポーネントを生成するタスクを与えることで、ポリモーフィズムを使用してこれを行うことができますが、その場合、モデルはビューがどのように生成されるかを認識します。
このようなモデルのビューを生成する適切な方法は何ですか? 私が考えることができるのは(ビューの生成に関与するモデルなしで)、パラメーターの詳細を読み取って適切なコンポーネントを選択する、コントローラー内の一種の巨大なスイッチです。
ありがとう