我有一个应用程序,它有很多窗口,所以我有必要创建一个包含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
?
答案 0 :(得分:0)
我认为在这里处理字体没有问题,只要它不会被代码块转义。
答案 1 :(得分:0)
是的,因为您实例化了它,您需要将其某些时候处理掉。最好的时间是你不再需要它之后立即:)但是,@ strangeoptics是正确的,你根本不需要创建字体。