在上面的代碼中,我打算在JTable初始化的過程中,調用typeTable.getColumnModel().getColumn(0).setPreferredWidth(10);初始化各列的寬度。
而在我的這個樣例程序中,JFrame 寬度為600,遠遠大于JTable 的寬度。因此程序按照我的初始值繪制完JTable之后,會自動的根據JFrame 的大小及布局再重新調整。這樣就造成與代碼不符的情況。
此帖討論NetBeans的非默認樣式的用法,基于命令行。
這里筆者將“laf(Look And Feel)”譯為“樣式”
因為NetBeans是基于Swing的,這使得NetBeans具有了百變面孔,相當可愛喲!
了解
Java Swing 的人可能知道Swing 的Look and Feel 是很靈活的,現在就有很多的實現。下面是筆者知道的windows平臺的一些列表:
其中前四種是jdk自帶的,后三種比較有趣。(因為筆者還沒有申請到opensolaris,只知道windows,渴望中)。
注意今天的實現方式是跨平臺的。
打開這個路徑C:\Program Files\netbeans-5.5\bin,檢查是否有nb.exe
打開命令行輸入cd "C:\Program Files\netbeans-5.5\bin"回車
輸入nb --laf javax.swing.plaf.metal.MetalLookAndFeel
這樣NetBeans就打開了,其樣式與原來的有什么不同?下面是筆者的圖片
命令行:

NetBeans:
用這種方法可以順利的看到前四種的結果,其中第3種是windows下NetBeans默認的樣式。
而對于其它三種則沒有效果,因為根本就沒有找到那些類。
輸出窗口報錯如下:
UI class not found, using default UI...
現在介紹其它三種效果的實現方法。
首先,需要獲得它們的jar包,你可能已發現我在上面給這三種樣式加了鏈接,點進去下載吧
下面以substance為例,這兒下它的包
https://substance.dev.java.net/files/documents/3294/55844/substance.jar
放到D:\下
打開命令行輸入cd "C:\Program Files\netbeans-5.5\bin"回車
輸入nb --cp:a "D:\substance.jar" --laf org.jvnet.substance.SubstanceLookAndFeel
這樣NetBeans就打開了,其樣式與原來的有什么不同?下面是筆者的圖片
---------------------------------------------------------------------------------------------------------------------------------------------------------------
每次都在命令行中啟動,過于繁瑣。可以在NETBEAN 的配置文件中加入配置參數:
1)下載 look and feel jar 包到硬盤上
2)打開netbean安裝路徑下的etc\netbeans.conf
增加下面一下行:
netbeans_default_options="--cp:p C:\javaplugin\PgsLookAndFeel.jar --laf com.pagosoft.plaf.PgsLookAndFeel"
--cp:p C:\javaplugin\PgsLookAndFeel.jar 作用是把look and feel jar 加到Netbean啟動路徑上;
--laf com.pagosoft.plaf.PgsLookAndFeel 作用為啟用指定的look and feel。