1

我有一个应用程序,它有很多窗口,所以对我来说创建一个包含FontRegistry实例的单例并让该单例管理FontRegistry's 内容是有意义的。我的代码看起来像这样:

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

4

2 回答 2

0

我认为在此处放置字体没有问题,只要它不使用代码块转义即可。

于 2010-12-10T16:01:13.177 回答
0

是的,既然你实例化了它,你需要在某个时候处理它。最好的时间是在您不再需要它之后立即 :) 但是,@strangeoptics 是正确的,您实际上根本不需要创建字体。

于 2011-09-24T05:02:59.657 回答