8

設定が .form ファイルにロックされている多くのフォーム ウィンドウを備えた、かなり充実した Java GUI アプリケーションを作成しました。これらの .form ファイルを、変更可能な実際の Java ソース コードに変換またはリファクタリングする方法はありますか?

GUI は Netbeans 6.5 を使用して作成されました。

4

3 に答える 3

6

私の理解では、「.form」ファイルは、Netbeans GUI ビルダーが GUI コンポーネントの場所を追跡するためにのみ使用されます。デザインビューでコンポーネントを追加すると、Netbeans は実際のソース (.java) ファイルを自動的に更新します。これらの .java ファイルを実際に直接変更して、ボタンのラベルを変更することはできますが、Netbeans 内で行うと、.form ファイルを使用してソース ファイルが自動的に再生成され、手動で行った変更が破棄されます。

私の経験では、.java ファイルを手動で変更することを決定すると、.form ファイルが同期しなくなり、Netbeans GUI ビルダーを適切に使用できなくなります。

于 2009-04-23T19:55:32.757 に答える
4

kazanaki の言うとおりです。生成された Java ファイルは変更できますが、結果として得られる .java ファイルは、厄介で大きく、解釈が難しいことで有名です。また、(生成された .java ファイルのコメントに示されているように) 一部を変更することはできません。これは、ファイルが特定の方法で処理されていることを前提としているためです。そうは言っても、Matisse の足を踏まないように気をつけていれば、コードを離れてコーディングすることができ、コードに影響を与えることはありません。これは素晴らしいことです。

Outlaw も正しいです。Matisse の perview に既にあるものを変更すると、上書きされます。matisse の外部で行う変更は、matisse がコードの生成に使用する xml でカバーされる要素の外部にある必要があります。

私は以前にこの種のことを試したことがありますが、成功は限られており、最終的にはインターフェイスを書き直して、これらの頭の痛い問題を回避しました.

于 2009-04-23T20:03:17.760 に答える
1

ソースを編集できます。解決策を発見しました。問題は、GUI ビルダーで「AbsoluteLayout」を使用していたことです。Netbeans は、.form ファイル内に隠された AbsoluteLayout クラスを作成していました。.form ファイルを削除すると、プロジェクトがビルドされなくなります。解決策は、フォームを「FreeForm」レイアウトに変更してから、.form ファイルを削除し、GUI ビルダーのコメントを削除することでした。

助けてくれてありがとう、私はあなたに+1を与えます。

于 2009-04-24T09:00:48.063 に答える