<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    何以解憂?唯有Java

    其實程序員也懂得浪漫!
    posts - 90, comments - 637, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
        今天用Swing 做了一個模仿QQ2009的登錄界面,用到了開源的Look&Feel (Substance),在使用的過程中遇到了一些問題,也學到了一些技巧。
    Substance (https://substance.dev.java.net)有很多的外觀可以選擇,而且都很漂亮,還提供了強大的API供開發者使用。Substance 現在已經
    發展到5.2RC 版了,一開始我使用的是5.1版,但是在使用的過程中發現了一些bug,當我使用Substance中提供的水印功能時,出現了許多的異常,這個bug在5.0的時候是沒有的,后來我又下載了最新的5.2RC版,這個問題在5.2版中已經解決了。大家如果需要的話,可以點 點這里下載  。

    第一個問題:如何完整的使用Look&Feel?


    大家可能會問了,什么叫著完整的使用Look&Feel?這里先不急著說明,先讓大家看一副截圖;



    大家看看上面幅圖是否已經用了Look&Feel?  答案是正確的,但是并不完整,因為他的標題欄還沒有改變,完整的使用Look&Feel后的截圖如下:



    是不是覺得很不一樣了呢?對于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中 OfficeBlue2007LookAndFeel



    第二個問題,如何給應用程序添加水印或者說是背景?

    官方的文檔說的很少,也沒有具體的使用例子說明,后來下載了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);
            }

    上面的代碼中有一句代碼的位置是不能變的,那就是 SubstanceLookAndFeel.setSkin(skin);
    它必須要在 UIManager.setLookAndFeel(new SubstanceOfficeBlue2007LookAndFeel()); 這句的下面。
    否則你看不到水印的效果。下圖是有水印和沒水印的對比圖(左邊的是有水印的,右邊的是沒水印的):



    再貼一張官方的一張截圖:大家看看Swing寫的 Office2007 界面如何?



    評論

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-23 20:57 by Flyever,Zhang
    good

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-23 21:01 by BruceLeey
    非常好

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-23 23:04 by 黑蝙蝠
    真的很不錯~~~

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序[未登錄]  回復  更多評論   

    2009-05-23 23:48 by changedi
    用過,感覺好多的開源的swing ui外觀都不錯~~~~

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-24 01:01 by 003
    使用金典登陸窗口

    請問什么叫“金典”

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-24 06:46 by huliqing
    看起來確實很棒子

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-24 08:46 by 日月雨林@gmail.com
    @003
    不好意思,打字快了點寫程序的時候沒注意,謝謝你的提醒,應該是“經典” 才對。

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-24 12:28 by BeanSoft
    不錯啊 話說界面開發 Swing 的MVC模式還是很強的 ExtJS 基本上都是照搬它的設計思想

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-24 15:29 by 樂蜂
    看起來確實很棒

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-24 23:07 by 無量字幕
    很不錯。。。

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-25 09:10 by 日月雨林@gmail.com
    @BeanSoft
    呵呵,最近很少看到BeanSoft老師在blogjava上發表文章哦。

    # 找不到皮膚  回復  更多評論   

    2009-05-25 22:23 by 梁晟
    我去網站下載了substance-all,打算山寨你的qq界面,可是這么找不到
    org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel
    這個類呢?
    望兄弟告知!

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-26 08:56 by 日月雨林@gmail.com
    @梁晟
    在包里面有啊,在src\org\jvnet\substance\skin 路徑下啊!你打算改他的源碼嗎?
    我用的是binary版的。源碼只是研究一下看看的。

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-26 09:13 by FEI
    @梁晟
    這個類 org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel 是在 substance.jar 包里,需要下載 substance 5.2 library (https://substance.dev.java.net/files/documents/3294/127141/substance.jar)。

    # 麻煩你幫忙  回復  更多評論   

    2009-05-26 11:29 by 梁晟
    首先,謝謝你的回復!
    能不能,把你的java版本的qq的源代碼分享一下,按照你的做了,可是
    標題欄還是沒有隨主題改變而改變。
    我的郵箱: lshsm@163.com

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-26 11:39 by 日月雨林@gmail.com
    @梁晟
    在main方法里添加
    JFrame.setDefaultLookAndFeelDecorated(true);
    JDialog.setDefaultLookAndFeelDecorated(true);
    這里兩行代碼就可以了!

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-26 17:10 by BeanSoft
    最近太忙了... 周末都沒什么空

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-05-27 22:46 by 龍華城
    能不能給個源碼研究研究 82055185@qq.com

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-06-03 01:25 by 淡茗
    請教樓主:用Substance 4 完全正常的代碼在 5 中出錯,是什么原因呢?能詳細講解下嗎?

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-06-05 15:22 by 游客
    給你個小提示 ,你的界面里面標簽 就是帶有qq圖片的那個把它外層的容器邊框設為0像素,這樣的話你的那個圖片右側就不會顯示出一塊空白了

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-06-05 15:38 by 日月雨林@gmail.com
    @龍華城
    你用netbeans的設計器,你也可以做到的。源碼就不發了。

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-06-05 15:40 by 日月雨林@gmail.com
    @淡茗
    substance 5.1里水印功能有bug ,我在博客里已經說明了,你難道沒看到嗎? 用5.2 沒有問題了。

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2009-06-05 15:40 by 日月雨林@gmail.com
    @游客
    謝謝你的提醒,我回去改改!呵呵!

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2010-06-01 17:44 by GreatGhoul
    很精彩的東西呀。

    # re: 用開源Look&Feel (Substance)寫 漂亮的Swing應用程序  回復  更多評論   

    2012-07-19 21:28 by 爭一代雄風
    很不錯!
    主站蜘蛛池模板: 91精品全国免费观看青青| 四虎永久在线观看免费网站网址| 亚洲欧洲日产国码无码久久99| 久久综合九色综合97免费下载| 亚洲国产视频久久| 色久悠悠婷婷综合在线亚洲| 人与禽交免费网站视频| 特级毛片免费播放| 亚洲美女视频一区| 亚洲美女在线国产| 美女视频黄是免费的网址| 一级做a爰片久久毛片免费陪 | 亚洲一区二区三区高清| 麻豆国产入口在线观看免费| 成人免费777777被爆出| 国产成人亚洲综合一区| 亚洲精品无码永久中文字幕| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 国产成人免费福利网站| 日本高清高色视频免费| 国产精品亚洲精品日韩动图| 亚洲欧洲日韩不卡| 免费一看一级毛片人| 天天影视色香欲综合免费| 亚洲免费视频一区二区三区| 国产精品高清视亚洲一区二区| 亚洲AV中文无码乱人伦下载| 又粗又硬又黄又爽的免费视频 | 国产成人精品日本亚洲专区6| 亚洲人成中文字幕在线观看| 日韩一级视频免费观看| 3344永久在线观看视频免费首页| 色吊丝性永久免费看码| 在线观看日本亚洲一区| 亚洲午夜在线电影| 亚洲色WWW成人永久网址| 国产伦一区二区三区免费| 一个人看的www在线观看免费| 国产一级片免费看| 精品国产污污免费网站入口在线| 亚洲AV永久无码精品网站在线观看|