2011-07-07 8 views
0

thirdparty LAFをNetBeans RCPアプリケーション(IDEではなく)に適用しようとしています。これは第三者LAFであるため、追加のJARに依存する必要があります。モジュラープラットフォームであるため、私はLAF JARをラップし、restored()メソッドのUIManager.setLookAndFeel()を呼び出すNetBeansモジュールを作成しました。問題は、モジュールが特定の順序でロードされないため、常に動作しないことです。NetBeans RCPアプリケーションで第三者のルックアンドフィールを使用する

理想的には、このモジュールをすぐにロードするように強制しますが、それをきちんとやり遂げる方法を見つけることができませんでした。ここで説明するように、引数:私は "--laf" と "P --cp":でLAFを設定しようとした

http://javahowto.blogspot.com/2008/05/how-to-customize-netbeans-look-and-feel.html

問題は、サードパーティのLAFのJARでは、NetBeansに依存し、他のthirdparty JARは実行時に「クラスが見つかりません」というエラーが発生します。技術的にはこれらのクラスは存在しますが、別々のモジュールにあります。私は多数の "--cp:p"引数を持つコマンドラインを乱雑にしたくないでしょう。

補足として、同じ名前のIDEとRCPを持つことで、ソリューションのためのグーグルがはるかに難しくなります。

+0

http://stackoverflow.com/questions/6579087/gu-problem-with-java-substance-look-and-feel/6579925#6579925 – mKorbel

答えて

-1

さらにデバッグすると、私のLAFモジュールの起動後に数回、UIManager.setLookAndFeel()を呼び出すRCPが明らかになりました。それ以降の呼び出しは、LAFをデフォルトに戻していました。

"--laf"コマンドライン引数は、デフォルトLAFに影響しませんでした。しかし、 "swing.defaultlaf"システムプロパティを設定することはできませんでした。

解決策は、モジュールのrestored()メソッドのシステムプロパティをthirdparty LAFクラス名に設定することでした。

関連する問題