Удаление шрифтов JFace FontRegistry

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

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?


person jasonh    schedule 20.04.2010    source источник


Ответы (2)


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

person Jean-Philippe Pellet    schedule 10.12.2010

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

person Alexey Romanov    schedule 24.09.2011