JFace FontRegistry Удаление шрифтов - PullRequest
1 голос
/ 20 апреля 2010

У меня есть приложение, в котором будет много окон, поэтому для меня имеет смысл создать синглтон, содержащий экземпляр 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?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2011

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

0 голосов
/ 10 декабря 2010

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

...