前回に引き続き、今回も Look & Feel。 今回は外部の Look & Feel を使用する方法を見ていきます(一覧)。
まずはその前に・・・
前回見た方法では、アプリケーション・フレームのタイトルバーが変更されないようです(少なくとも拙者の環境では)。 タイトルバーにも Look & Feel の変更を反映させるためには、JFrame の defaultLookAndFeelDecorated を true に設定します。
具体的には
- FunctionPlotter/griffon-app/views/functionplotter/FunctionPlotterView.groovy
に以下の1行を追加します:
// Look & Feel の追加設定 JFrame.defaultLookAndFeelDecorated = true actions{ ... } application{ ... }
ダイアログの Look & Feel も変更したいとき(JOptionPane が生成するダイアログを含む)は、さらに JDialog の同プロパティも true に設定します:
// Look & Feel の追加設定 JFrame.defaultLookAndFeelDecorated = true JDialog.defaultLookAndFeelDecorated = true actions{ ... } application{ ... }
外部の Look & Feel プラグインを使用する
さて、では Look & Feel の変更を行っていきましょう。 ここでは以下の lookAndFeel, theme を使用することにします:
プラグイン | lookandfeel-substance |
---|---|
lookAndFeel | Substance |
theme | BusinessBlackSteel |
手順は以下の通り:
- 必要な Look & Feel プラグインをインストールする
- Config.groovy を設定する
基本的には前回の方法と同じです。
必要な Look & Feel プラグインをインストールする
Substance Look &Feel を使用するには「lookandfeel-substance」プラグインをインストールする必要があります。 インストールには、以下のコマンドを実行します:
griffon install-plugin lookandfeel-substance
前回の lookandfeel プラグインがインストールされていなければ、もちろん自動でダウンロードされるので(その他必要なプラグインも含めて)、前回行ったような準備はする必要はありません。
Config.groovy を設定する
まぁ、前回と同じです。 Config.groovy は
- FunctionPlotter/griffon-app/conf/Config.groovy
にあるんでした。 変更はこんな感じ:
lookandfeel{ lookAndFeel = 'Substance' theme = 'BusinessBlackSteel' }
実行結果
実行するとこんな感じ:
ちなみに
プラグイン | lookandfeel-napkin |
---|---|
lookAndFeel | Napkin |
theme | Napkin |
でも実行してみました:
Griffon がサポートしている Look & Feel プラグイン
Griffon がサポートしている Look & Feel プラグインを列挙してみましょう。 詳しくは「Griffon - Plugins」の Look & Feel の項を参照して下さい。
プラグイン名 | バージョン | Look & Feel | Theme |
---|---|---|---|
lookandfeel-a03*1 | 0.1 | A03 | A03 |
lookandfeel-easynth | 0.1 | EaSynth | EaSynth |
lookandfeel-jgoodies-looks | 0.1 | JGoodies - Plastic - Plastic3D - PlasticXP - Windows |
|
lookandfeel-jtattoo | 0.2 | JTattoo | Acrylic Aero Aluminium Bernstein Fast Graphite HiFi Luna McWin Mint Noire Smart |
lookandfeel-kunststoff | 0.1 | Kunststoff | Desktop Notebook Presentation |
lookandfeel-liquidlnf | 0.1 | Liquid | Liquid |
lookandfeel-metouia | 0.1 | Metouia | Metouia |
lookandfeel-napkin | 0.1 | Napkin | Napkin |
lookandfeel-nimrod | 0.1 | Nimrod | NimROD |
lookandfeel-officelnfs | 0.1 | Officelnfs | Office 2003 / Office XP VisualStudio 2005 |
lookandfeel-pgslaf | 0.1 | Pagosoft | ElegantGray JGoodies-BrownSugar JGoodies-DarkStar JGoodies-DesertBlue NaitveColor Silver Vista |
lookandfeel-quaqua*2 | 0.1 | ||
lookandfeel-skinlnf | 0.1 | Skin | Amarach Architect Blue / Architect Olive b0sumi / b0sumi Ergo BeOS Blue Metal / Blue Turquesa ChaNinja Blue CoronaH Cougar Crystal2 Default FatalE Gfx Oasis Gorilla Hmm XP Blue / Hmm XP Mono Blue iBar MakkiX and MagraX Midnight Olive Green Luna XP Opus Luna Silver Opus OS Blue / Opus OS Deep / Opus OS Olive QuickSilverR Roue Blue / Roue Brown / Roue Green Royal Insirant Silver Luna XP SolunaR Tiger / Tiger Graphite Underling |
lookandfeel-squareness | 0.1 | Squareness | Squareness |
lookandfeel-substance | 0.2 | Substance | Autum Business BusinessBlackSteel / BusinessBlueSteel ChallengerDeep Creme / CremeCoffee DustCoffee / DustLook EmeraldDusk Gemini Graphite / GraphiteAqua / GraphiteGlass Magellan Mariner MistAqua / MistSilver Moderate Nebula / NebulaBrickWall OffieceBlack2007/OfficeBlue2007/OfficeSilver2007 Raven Sahara Twilight |
lookandfeel-tinylaf | 0.1 | Tinylaf | Tinylaf |
lookandfeel-tonic | 0.1 | Tonic | Tonic |
使用しているバージョンの Griffon がサポートしている Look & Feel はコマンド
griffon list-plugins
を実行することで確認できます。 このコマンドで表示されるプラグインのうち、lookandfeel-Xxxx という名前のものが使用できる Look & Feel です。
全て確かめたワケではありませんが、プラグインのバージョンは使用している lookandfeel プラグインのバージョンと同じようです。 つまり、lookandfeel-substance プラグインのバージョン 0.2 が使用する lookandfeel プラグインはやはり 0.2 です。
lookandfeel プラグインのバージョンについて
lookandfeel プラグイン自体の最新バージョンは 0.3 ですが、lookandfeel-substance プラグイン(の最新バージョン)が要求する lookandfeel プラグインのバージョンは 0.2 です。 インストールされている lookandfeel プラグインのバージョンが要求されているそれのバージョンより新しい場合は問題なくインストールされますが、プラグインによっては実行時に例外が発生したりするようです。
逆に、インストールされている lookandfeel プラグインのバージョンが lookandfeel-substance プラグインの要求するバージョンより低い場合(つまり lookandfeel 0.1 がインストールされている場合)、プラグインのインストール自体が失敗するようです。 この場合、インストールされている lookandfeel プラグインをアンインストールする必要があります。
プラグインのアンインストール
一度インストールしたプラグインをアンインストールするためにはコマンド
griffon uninstall-plugin [プラグイン名]
を実行すればいいはずですが、拙者の環境では全く作動しませんでした。 なので、ここでは手動でプラグイン(Look & Feel に関連するもの)をアンインストールする方法を見ていきます(FunctionPlotter プロジェクトに関して)。
変更もしくは削除が必要なのは以下のファイルです:
- application.properties
- Builder.groovy
- ${user.home} 下のファイル・フォルダ
application.properties
まずは application.properties ファイル。 これはプロジェクトのルート・フォルダにあります。
- FunctionPlotter/application.properties
lookandfeel-substance プラグインの場合は、以下の4行を削除します:
#Griffon Metadata file #Tue Nov 16 04:44:16 JST 2010 app.griffon.version=0.9.2-beta-1 app.name=FunctionPlotter app.version=0.1 // 以下を削除 plugins.lookandfeel=0.2 plugins.lookandfeel-substance=0.2 plugins.miglayout=0.1 plugins.trident-builder=0.5
ここでは plugins. すべてを削除していますが、他のプラグインをインストールしている場合には削除してはいけないものもあるので注意。
Builder.groovy
次は Builder.groovy ファイル。 ソースファイルは
- FunctionPlotter/griffon-app/config/Builder.groovy
lookandfeel-substance プラグインの場合は、以下の部分を削除します:
root { 'groovy.swing.SwingBuilder' { controller = ['Threading'] view = '*' } 'griffon.app.ApplicationBuilder' { view = '*' } } // 以下を削除 root.'MiglayoutGriffonAddon'.addon=true root.'LookandfeelGriffonAddon'.addon=true root.'griffon.builder.trident.TridentBuilder'.view = '*' root.'LookandfeelSubstanceGriffonAddon'.addon=true
これも全て消せばいいというワケではありません。
${user.home} 下のファイル・フォルダ
さらに ${user.home} 下にキャッシュされているファイル・フォルダも削除します。 以下のフォルダ
- ${user.home}/.griffon/0.9.2-beta-1/projects/FunctionPlotter/plugins
の下にプラグインに関するファイル・フォルダがあるので、対応するフォルダを削除します。
もしダメなら・・・
これでもプラグインが削除されないなら、さらに
- ${user.home}/.griffon
- ${user.home}/.ivy2
も削除してしまいましょう。 それでもダメなら新たに Griffon プロジェクト作り直しましょう。
追記
lookandfeel-substance プラグインを用いて Look & Feel を使用すると、テキストフィールドに文字を入力したときに "keyCode()" 云々の例外が投げられてしまうようです。 原因はイマイチよく分かりませんが、lookandfeel プラグインのバージョンを 0.3*3にすれば例外は投げられなくなります(少なくともテキストフィールドでは)。
lookandfeel 0.3 を使うためには
- lookandfeel-substance プラグインをインストールする前に lookandfeel プラグインをインストールする(バージョンを指定しなくても最新版の 0.3 がインストールされる)
- lookandfeel-substance プラグインをインストールしている場合は、上記の「プラグインをアンインストールする」に書いたやり方で(乱暴に:-P)lookandfeel プラグイン(lookandfeel-substance プラグインではない!)をアンインストールして、再度 lookandfeel プラグインをインストールする
とすれば OK なハズです。
Java Swing Hacks ―今日から使える驚きのGUIプログラミング集
- 作者: Joshua Marinacci,Chris Adamson,神戸博之(監訳),島田秋雄(監訳),加藤慶彦
- 出版社/メーカー: オライリージャパン
- 発売日: 2006/04/01
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 100回
- この商品を含むブログ (38件) を見る