2

ImageJまたはAdobeDialogManagerで使用されているGenericDialogに似たものを探しています。目標は、ダイアログのテンプレート(フィールドの数、タイプなど、表示方法ではなく、必要な情報)を作成し、それをview-classに送信することです。このビューは、SwingベースのGUIまたは単純なコンソールUIの場合があります。ユーザーがフィールドに入力すると、ダイアログテンプレートのソースの値が表示されます。これを実装するJava用のライブラリはありますか?GenericDialogがあることは知っていますが、プロジェクトで使用できるかどうかはわかりません(ImageJの一部であるため)。その上、私にとっては「重い」と感じています。

4

2 に答える 2

1

ImageJ2プロジェクトは、ほぼ正確に説明した内容を提供します。つまり、入力パラメーターと出力パラメーターを入力して実行可能な操作(コマンドと呼ばれる)を実行するための柔軟なメカニズムです。

コマンドの入力と出力は、@Parameter注釈を付けてラベル付けすることで定義します。ImageJは、入力の入力を自動的に処理し(通常、ダイアログボックスを使用してユーザーに入力を求めることにより)、コマンドの実行後に出力を表示します。

入力がユーザーからどのように収集されるかは、ImageJコンテキストに関連付けられている(存在する場合)ユーザーインターフェイスによって異なります。Swingの完全なウィジェットサポートと、「純粋な」AWT(つまり、java.awtウィジェット)、Apache Pivot、およびEclipseSWTでの概念実証の実装を実装しました。

いくつかの例:

すべてのコードはBSD-2ライセンスです。フレームワークを含むJARは、このij-core記事の執筆時点で最大334KBです。Swingウィジェットを含むJARは約150KBですが、削除できる他のij-ui-swingものも含まれています(比較のために、ij-ui-pivotJARはわずか約30KBです)。

とはいえ、ImageJ 1.xGenericDialogが「重すぎる」と思う場合は、ImageJ2のコマンドフレームワーク(またはこの問題に対する他の解決策)についても同じように感じる可能性が非常に高くなります。 "よりGenericDialog)。しかし、その場合、おそらくImageJ2の実装は、独自のロールを作成する方法についていくつかのアイデアを提供します。

于 2012-11-15T17:05:42.693 に答える
0

ImageJ の汎用ダイアログは java.awt.Component を拡張するので、ダイアログのテンプレートをビューから分離するという要件と矛盾しませんか?

Java のコレクションを使用すると、情報や型などをカプセル化できます。

java.util.LinkedHashMap<String,Type> dialog = new java.util.LinkedHashMap<String,Type>;

ここで、キーはフィールドの名前で、値はフィールドのタイプです。

スイング ベースのダイアログを作成するには、次を参照してください。

http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

于 2012-08-20T09:27:46.417 に答える