2011-04-04 49 views
-1

我想更改或修改所有我的JFrame的字體。如何在java中更改我所有組件的字體

像只有一次我改變字體和所有幀字體大小改變爲新的東西。

上一次我改變了外觀&感覺我的窗口我認爲這樣可以,但我正在尋找另一種解決方案,如果有的話,請爲我提供一個例子。

+2

http://stackoverflow.com/questions/3679002/uimanager-font-setting – camickr 2011-04-04 04:30:49

+0

不錯,但你能解決他的問題,我的意思是我需要重寫外觀和感覺? – Amir 2011-04-04 06:00:04

+0

沒有問題要解決。一些LAF允許你改變字體,而另一些則不允許。所以你選擇一個可以讓你改變字體的LAF。 – camickr 2011-04-04 15:00:35

回答

1

一個可能的解決方案:用不同的VM參數執行代碼:

java -Dswing.plaf.metal.controlFont=Tahoma -Dswing.plaf.metal.userFont=Tahoma … 
0

也許你可以創建一個配置文件(或資源文件),當你想改變的東西讀取文件和設置值。

資源文件(當然你可以使用你想要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()); 
相關問題