Swingスキンパック


http://javootoo.l2fprod.com/index.html同サイトには有料とオープンソースのスキンバッグがある.皮肤の包みのコードをロードしてここで简単に言いますと、JAR包みに参加して、フォームがコードをロードする前に以下のコードを参加して、フォームはスレッドでスタートするのが最も良いです.
 
protected
 
void
 startup() {         
try
 {             UIManager.setLookAndFeel(
new
 NapkinLookAndFeel());//各スキンバッグには****LookAndFeel類があり、ドキュメントを調べたりJARを見たりして見つけることができます.ここで変更すればいいです.
catch
 (UnsupportedLookAndFeelException ex) {             Logger.getLogger(TestSkin1View.
class
.getName()).log(Level.SEVERE, 
null
, ex);         }         show(
new
 TestSkin1View(
this
));     }
私の環境はNetBean 6です.8
コードは言うまでもなく、効果を見てみましょう.substanceにはBUGがあり、完全にオープンソースではありませんが、皮膚のバッグがたくさんあります.
Napkin Look & Feel
Swing 皮肤包_第1张图片
Liquid look & feel
Swing 皮肤包_第2张图片
idw-gpl
Swing 皮肤包_第3张图片
JTattoo
com.jtattoo.plaf.smart.SmartLookAndFeel

Swing 皮肤包_第4张图片
com.jtattoo.plaf.bernstein.BernsteinLookAndFeel
Swing 皮肤包_第5张图片
Squareness Look and Feel
net.beeger.squareness.SquarenessLookAndFeel
Swing 皮肤包_第6张图片
最初の質問:Look&Feelをどのように完全に使用しますか?皆さんは、Look&Feelの完全な使用とは何ですか?ここでは急いで説明しないで、まずみんなに断面図を見せます.Swing 皮肤包_第7张图片皆さん、上の図がLook&Feelを使っているかどうか見てみましょう.答えは正しいですが、完全ではありません.彼のタイトルバーはまだ変わっていないので、Look&Feelを完全に使った後のスクリーンショットは以下の通りです.Swing 皮肤包_第8张图片は違いますか.Swingのベテランにとって、これはおかずの一皿ですが、初心者にとっては難しいです.look&feelを使う多くのチュートリアルがこのようなものを見ているからです.
 UIManager.setLookAndFeel( 
new 
 SubstanceOfficeBlue2007LookAndFeel());
または、
try 
 {       UIManager.setLookAndFeel( 

org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel 

);     }  
catch 
 (Exception e) {       System.out.println( 

Substance Raven Graphite failed to initialize 

);     }
あるいは私自身が料理が多すぎるのではないでしょうか.とにかく私はSwingの外観の使用を真剣に学ぶ前にどのようにタイトルバーを変えるべきか分かりませんでした.タイトルバーを変更するには一言で十分です.mainメソッドに次の文を追加します.
JFrame.setDefaultLookAndFeelDecorated( 
true 
);
JDialogも変えたいなら、JDilogも追加します.setDefaultLookAndFeelDecorated(true); 次は最終的に完了したインタフェースです.SubstanceのOfficeBlue 2007 LookAndFeel:Swing 皮肤包_第9张图片の2番目の問題を使用しています.アプリケーションに透かしや背景を追加するにはどうすればいいですか.公式の文書は少なく、具体的な使用例も説明されていないが、Substanceのソースコードをダウンロードしてみて、どのように使用するかを発見した.以下は私が公式ソースコードを参考にして書いたmainメソッドのコアコードです.
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try 
 {             SubstanceImageWatermark watermark  

  
new 
 SubstanceImageWatermark(LoginFrame. 
class 
.getResourceAsStream( 
"
/demo/001.jpg 

));             watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);             SubstanceSkin skin  

  
new 
 OfficeBlue2007Skin().withWatermark(watermark);//透かしのある肌を初期化
 UIManager.setLookAndFeel( 
new 
 SubstanceOfficeBlue2007LookAndFeel()); 
            SubstanceLookAndFeel.setSkin(skin);//肌の設定}
catch 
 (UnsupportedLookAndFeelException ex) {             Logger.getLogger(LoginFrame. 
class 
.getName()).log(Level.SEVERE,  
null 
, ex);         }
上のコードの1つのコードの位置は変えられません.それはSubstanceLookAndFeelです.setSkin(skin); . UImanagerでなければなりませんsetLookAndFeel( new  SubstanceOfficeBlue2007LookAndFeel());この文の下.透かしの効果が見えません下の図は透かしと透かしがない対比図(左は透かしがあり、右は透かしがない):Swing 皮肤包_第10张图片