2009-09-20 6 views
23

레이블 중 하나에 큰 글꼴을 사용해야합니다.SWT의 글꼴 크기 만 변경하십시오

label.setFont(new Font(display,"Arial", 14, SWT.BOLD)); 

하지만 분명히 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

처분 (이미지)은 말이없고, 아마 복사 및 붙여 넣기 오류입니다 – mkdev