2017-05-15 5 views

답변

1

기본적으로 사용하려는 글꼴을 가져와 measurepaint 방법으로 이벤트 GC에 설정하면됩니다. 나는 기존의 JFace는 글꼴 중 하나를 얻을 수 JFaceResources.getFont를 사용하고 여기에

private static final int TEXT_MARGIN = 3; 

@Override 
protected void measure(Event event, Object element) 
{ 
    String text = ... get the text 

    Font font = JFaceResources.getFont(JFaceResources.HEADER_FONT); 

    event.gc.setFont(font); 

    Point size = event.gc.textExtent(text); 

    event.width = size.x + 2 * TEXT_MARGIN; 
    event.height = Math.max(event.height, size.y + 2 * TEXT_MARGIN); 
} 

@Override 
protected void paint(Event event, Object element) 
{ 
    String text = ... get the text 

    Font font = JFaceResources.getFont(JFaceResources.HEADER_FONT); 

    event.gc.setFont(font); 

    event.gc.drawText(text, event.x + TEXT_MARGIN, event.y + TEXT_MARGIN, true); 
} 

:

이 같은이 될 수 있습니다. 자신 만의 글꼴을 만들 수도 있습니다. 단 한번만 을 입력해야합니다. measure 또는 paint을 호출 할 때마다을 만들지 마십시오.

+0

자신 만의 글꼴을 만드는 방법에 대한 예를 들려 줄 수 있습니까? – user04556

+1

미안하지만 그건 내가 한 일이 아닙니다. Eclipse 플러그인 인 경우 글꼴은 CSS 지원 또는 org.eclipse.ui.themes 확장 지점에서 정의 할 수 있습니다. 일반 JFace/SWT 앱의 경우 다양한 'Font'생성자를 살펴보십시오. –