DevFaqSystemOptionVersusSettingsFilesJa

.settings ファイルと SystemOption の違いはなんですか?

両者は対立するものではありません。 .settings ファイルは SystemOption を表現するものですが、常にそうであるとも限りません。.settings ファイルは、引数なしのデフォルトコンストラクタを持つあらゆるJavaのクラスのインスタンスを表現できます。たとえば、 SystemOption を用いる代わりに .settings ファイルを使って POJO のインスタンスを生成することが可能です。こうすることで、シンプルな JavaBeans を生成して参照できるわけです。「オプション ダイアログ」内で使用する場合など、プロパティにローカル名を持たせたりするために BeanInfo を用意したいようなケースがあるかもしれません。

パフォーマンス面における理由から、SystemOption を定義するのに .settings ファイルが用いられることも少なくありません。というのも、 .settings ファイルを使えば画面表示用の名前やアイコンなどのオブジェクトを実際に作成することなく、それらを表示することが可能となるからです。この技術は、特に以下の二箇所で用いられています:

  • ひとつ目はウィンドウシステムです。ユーザが起動時に開く全てのウィンドウのインスタンスを作成するのは好ましくないため、代替策として .instance ファイルがその役目を果たします。
  • もう一つはオプションダイアログ(システム FileSystem の UI/ フォルダ)です。オプションダイアログはシステム内のモジュールのオブジェクトツリーを表示します。これら全てのオブジェクトが実際に生成されるとすると、たとえばユーザがほんの一、二ヶ所の設定を変更するために「オプション」ウィンドウを開いたとしても、 IDE がツリー内のオブジェクトを全て生成するため、怒涛のようなクラスローディングが発生してしまうのです(何を隠そう、かつてはそうなっていました)。

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo