1

多くのウィンドウを持つアプリケーションがあるので、インスタンスを保持するシングルトンを作成し、そのシングルトンにのコンテンツ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ますか?

4

2 に答える 2

0

コードブロックでエスケープしない限り、フォントをここに配置しても問題はないと思います。

于 2010-12-10T16:01:13.177 に答える
0

はい、インスタンス化したので、いつか処分する必要があります。最適なタイミングは、不要になった直後です:) ただし、@strangeoptics は、実際にフォントを作成する必要がないことは正しいです。

于 2011-09-24T05:02:59.657 に答える