2

現在、サウンド処理用のアプリケーションを構築しています。私はswt/jfaceを使ってJava/Eclipseでこれをやっています。処理自体には、アルゴリズム内部のいくつかのオプション/プロパティが必要です。現時点では、次のようなすべてのオプションを保持する .properties ファイルがあります。

トリムリーディングサイレンス=20
トリムトレーリングサイレンス=20
トリムホールド=5
fftFrameSize=512 ...

ユーザーがこれらのオプションをメモ帳++のようなテキストエディターで編集するのではなく、アプリのGUI内で編集したくありません。

今、私はこれを行う方法を考えています。私には 2 つの「アイデア」があります。オプション セットごとにクラスを作成し、これらすべての退屈な GUI コード行を手動でコーディングします。ここのように、オプションは 1 つだけです ;-)

Spinner spinnerSilenceBack = new Spinner(shell, SWT.BORDER);
        spinnerSilenceBack.setMinimum(0);
        spinnerSilenceBack.setMaximum(200);
        selection = Integer.valueOf(PropertyManager.getPropertyValue("trimming", "trailingSilence"));
        spinnerSilenceBack.setSelection(selection);
        spinnerSilenceBack.setIncrement(5);
        spinnerSilenceBack.setPageIncrement(20);
        spinnerSilenceBack.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                int selection = ((Spinner) e.getSource()).getSelection();
                int digits = ((Spinner) e.getSource()).getDigits();
                int result = (int) (selection / Math.pow(10, digits));

                PropertyManager.setPropertyValue("trimming", "trailingSilence", String
                        .valueOf(result));

            }
        });

さまざまなオプションがあるため、これには多くの時間がかかります。そこで、このような gui コードを動的に作成する方法、またはアプリケーションの起動時にこれらの gui ウィンドウを動的に作成する方法を考えました。少なくとも「GUIクリエーター」用の構成ファイルが必要ですが、そのようなことを再発明したくありません-それが私が皆さんに尋ねる理由です:)

4

3 に答える 3

0

あなたが求めていることを明確に理解できませんでした。

しかし、あなたの質問はHow to dynamicly build up a guiだったので、提案があります:

Freemarkerのような Java Template Engine ライブラリを使用できます。これは、オンザフライで動作するように構築できる GUI を作成するのに役立ちます。freemarker を使用すると、1 つのテンプレート ファイルを作成して、それに応じて値を置き換えることができます。

これを使用して、その場で HTML ファイルを生成しました。それ以外の場合に使用できるかどうかを評価できます。API ドキュメントは豊富です。だから、あなたはそれを一度通過することができます。

于 2010-05-20T11:58:36.757 に答える
-1

指定したすべてのオプションを持つ UI を作成したいということですか? フォームやメニューは関係ありません。それはあなた次第です。しかし、ファイルで名前とタイプを確実に構成でき.propertiesます。

AWT/Swing OR Servlet で Menu OR フォームを作成しましたが、それをプロパティ ファイルから読み取ることができますか?

また、Spring Bean XML 定義を使用して同じように構成することもできます。これにより、Map OR List などですべての詳細を指定できるなど、より多くのサポートを提供できます。

ありがとう。

于 2010-05-20T12:01:11.917 に答える
-1

私は長い間 Swing を使用していなかったので、ここでは基本的な原則にすぎません。
構成は xml で行う必要があります。.properties ファイルはここでは不適切です。すぐに使用できるオブジェクトを記述していないためです。
ボタン(「構成を適用」)を追加し、1)xml構成を解析し、2)フォームを作成するか、既存のフォーム、テキストエリア、色などの設定を変更するactionListenerを添付します。

xml 構成の例:

見つかった - jframe.getLayout().add(new Button(x_coord, y_coord, action) よりも、x_coordinate、y_coord (または、layoutManager を使用、ロジックに依存)、アクションであることを確認します。
見つかった - 同じ。

jframe.setVisible(true); よりも

于 2010-05-25T05:55:01.307 に答える