我想更改或修改所有我的JFrame的字體。如何在java中更改我所有組件的字體
像只有一次我改變字體和所有幀字體大小改變爲新的東西。
上一次我改變了外觀&感覺我的窗口我認爲這樣可以,但我正在尋找另一種解決方案,如果有的話,請爲我提供一個例子。
我想更改或修改所有我的JFrame的字體。如何在java中更改我所有組件的字體
像只有一次我改變字體和所有幀字體大小改變爲新的東西。
上一次我改變了外觀&感覺我的窗口我認爲這樣可以,但我正在尋找另一種解決方案,如果有的話,請爲我提供一個例子。
一個可能的解決方案:用不同的VM參數執行代碼:
java -Dswing.plaf.metal.controlFont=Tahoma -Dswing.plaf.metal.userFont=Tahoma …
也許你可以創建一個配置文件(或資源文件),當你想改變的東西讀取文件和設置值。
資源文件(當然你可以使用你想要JSON,XML或任何 這只是一個例子。) fontNameA:無襯線 fontNameB:XXXX
fontSizeA: 20
fontSizeB: 30
backgourdImage………
class StyleProvider{
…
public StyleProvider(String yourConfigFilePath){
/* read it */
}
public String getFontName(/* you can write some arguments here*/){
return something;
}
/* other methods */
}
/* your working code */
StyleProvider sp = new StyleProvider("filepath")
font = new Font(sp.getFontName(), Font.PLAIN, sp.getFontSize());
http://stackoverflow.com/questions/3679002/uimanager-font-setting – camickr 2011-04-04 04:30:49
不錯,但你能解決他的問題,我的意思是我需要重寫外觀和感覺? – Amir 2011-04-04 06:00:04
沒有問題要解決。一些LAF允許你改變字體,而另一些則不允許。所以你選擇一個可以讓你改變字體的LAF。 – camickr 2011-04-04 15:00:35