2009-09-20 25 views
23

ラベルのいずれかに大きなフォントを使用する必要があります。SWTのフォントサイズを変更する

しかし、明らかにArialがデフォルトフォントであるとは限りません。私はちょうどサイズを変更し、他のすべてをデフォルト値に保ちたい。

は、私は他のパラメータを設定しないように

label.setFontSize(14); 

ような何かを行うことができますか?または、実際にデフォルトとして実際に使用されているフォントの名前を少なくとも知ることはできますか?

答えて

35

は、私はあなたが動作するはず返されていない複数のフォント、限り

FontData[] fD = label.getFont().getFontData(); 
fD[0].setHeight(16); 
label.setFont(new Font(display,fD[0])); 

のような何かができると信じています。

31

あなたは次の操作を行うことができます。

FontData[] fontData = label.getFont().getFontData(); 
for(int i = 0; i < fontData.length; ++i) 
    fontData[i].setHeight(14); 

final Font newFont = new Font(display, fontData); 
label.setFont(newFont); 

// Since you created the font, you must dispose it 
label.addDisposeListener(new DisposeListener() { 
    public void widgetDisposed(DisposeEvent e) { 
     newFont.dispose(); 
    } 
}); 
+1

にdispose(画像)は意味がないし、おそらくコピー&ペースト誤りであります – mkdev

関連する問題