torutkのブログ

ソフトウェア・エンジニアのブログ

NetBeans 6 設定メモ

Windows環境でのNetBeans 6 設定に関するメモです。NetBeansを起動するJavaVMは、JDK 6を使用しています。

起動に関する設定

フォント描画でClearTypeを有効にする

※skrbさんコメントを頂き修正

Windowsの設定でClearTypeを有効にしていれば、JDK 6では、デフォルトでClearTypeを適用します。しかしながら、デフォルト(通常)のフォントでは、日本語はよほど大きなサイズ(24pt以上)でないとClearTypeがかかりません。また、ASCII(英語)フォントも等幅のものはなぜかClearTypeになりません。

性能調整

国際化版のnightlyビルド(2008-01-05)では、起動時のオプションからGCやヒープサイズに関する設定が除外されています。が、JConsoleで起動したNetBeansに接続してみると、GCにConcurrentMarkSweepが選択され、ヒープサイズは369MBが指定されています。
(JConsoleで接続するために、netbeans.confのnetbeans_default_optionsに-J-Dcom.sun.management.jmxremoteを追加)

Java開発に関する設定

JDKの日本語ドキュメント設定

[ツール]メニュー→[Javaプラットフォーム]を選択すると「Javaプラットフォームマネージャ」ダイアログが表示されます。左側ペインでJDK 1.6(デフォルト)が選択されている状態で、右側ペインのJavadocタブを選択し、[ZIP/フォルダを追加]ボタンを押して、日本語APIドキュメントのフォルダを指定します(\docs\ja\apiを指定)。

キー設定

Emacsキーバインド

Emacsキーバインドは、[ツール]メニュー→[オプション]を選択すると「オプション」ダイアログが表示されるので、上側ペインの[キーマップ]をクリックしてProfile欄で[EMACS]を選択します。

Emacsキーバインドのペースト

Javaソースコード編集中に、[カット]または[コピー]したテキストを[ペースト]しても何も貼り付けられない現象が起きています。NetBeansキーバインドでは発生しないのですが・・・。[フォーマットしてペースト]では貼り付けられるので、回避策としてショートカットキーCtrl+Yを[フォーマットしてペースト]にアサインします。

バージョン管理設定

Mercurial

まず、Mercurial(バイナリ)をインストールしておきます。環境変数PATHを設定するようインストール時にチェックしておきます(デフォルト)。
続いて、Mercurialプラグインをインストールします。[ツール]メニュー→[プラグイン]で「プラグイン」ダイアログが表示されます。[使用可能なプラグイン]タブで、Mercurialにチェックを入れて[インストール]ボタンを押すとインストールされます。NetBeansを再起動します。

Nimbus Look and Feel

Nimubs Look and Feelを使うと、プログラム側で制御している背景色の設定が反映されないものがあります。

  • だめな例:JTextFieldのbackground、JButtonのbackground
  • いける例:JLabelのbackground

XMLベースのSynthを使っているとの話しですが、そのためなのでしょうか。調べてみると、以下BugIDとその関連IDにおける記述にNimbusの設計概念が簡単に記述されていました。

Bug ID: JDK-6636230 Nimbus L&F: Basic components should be non-opaque to solve deffinition of backgound color

フォーカス描画や丸っこい角の描画を行うすべてのNimbus部品はデフォルトで透過となっている。背景はグラディエーション描画をするため、backgroundで塗りつぶすのではなく複雑な描画ロジックで実現されているようです。

 この描画ロジックは、"Painter"と呼ばれるステートレスなクラスに実装されており、PainterオブジェクトはUIDefaultsテーブルに格納されているので、好みによって置き換えられるようになっているとのこと。

 Painterを置き換えなくても、色、アイコン、フォント設定はUIDefaultsのテーブルを変更すればよいとのこと。しかし、JDK 6 Update 10 build 09での実装でNimbusLookAndFeel用のUIDefaultsに格納されているキー"TextField.background"の値は
パッケージスコープのクラス sun.swing.plaf.nimbus.DerivedColorであり、これをパッケージ外部から変更するのは困難です。今後はどうなるのかな?

Nimbus Look And Feelの使用方法

1) コマンドライン・オプションで指定する
C:\Users\torutk> java -Dswing.defaultlaf=sun.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
2) JREのプロパティファイルで記述

そのJREで実行するプログラムはデフォルトで記述したルック・アンド・フィールが適用されます。
JDK 6 UpdateNをC:\java\jdk1.6.0_10にインストールした場合、C:\java\jdk1.6.0_10\jre\lib\swing.propertiesファイルに記述します。

swing.defaultlaf=sun.swing.plaf.nimbus.NimbusLookAndFeel
3) プログラム中で記述
import javax.swing.UIManager;

    :
    UIManager.setLookAndFeel("sun.swing.plaf.nimbus.NimbusLookAndFeel");