2010-04-20 1 views
1

У меня есть приложение, которое будет иметь много окон, поэтому имеет смысл создать один синглтон, который содержит экземпляр FontRegistry, и этот синглтон управляет содержимым FontRegistry. Мой код выглядит примерно так:JFace FontRegistry Font Disposal

import org.eclipse.jface.resource.FontRegistry; 
import org.eclipse.swt.graphics.Font; 
import org.eclipse.swt.widgets.Display; 

public final class FontRegistryManager { 
    public static final FontRegistryManager INSTANCE = new FontRegistryManager(); 

    FontRegistry fr; 

    private FontRegistryManager() { 
     fr = new FontRegistry(); 

     Display currentDisplay = Display.getCurrent(); 
     Font mainFont = new Font(currentDisplay, "Tahoma", 8, 0);   
     fr.put(FontRegistryConstants.MAIN_FONT, mainFont.getFontData()); 
     mainFont.dispose(); 
    } 

    public FontRegistry getFR() { 
     return fr; 
    } 
} 

Что мне интересно, я прямо сразу распоряжаться mainFont?

ответ

0

Я не вижу проблемы с удалением шрифта прямо здесь, пока он не убежит с кодовым блоком.

0

Да, так как вы его создавали, вам нужно утилизировать его sometime. Лучшее время сразу после того, как вам это больше не нужно :) Однако @strangeoptics прав, что вам вообще не нужно создавать шрифт вообще.