de.lessvoid.nifty.java2d.renderer.FontProviderJava2dImpl Maven / Gradle / Ivy
package de.lessvoid.nifty.java2d.renderer;
import javax.annotation.Nonnull;
import java.awt.*;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
public class FontProviderJava2dImpl {
protected static final Logger logger = Logger
.getLogger(FontProviderJava2dImpl.class.getName());
@Nonnull
private final Map fonts = new HashMap();
/**
* to be returned if getFont fail to get font
*/
private java.awt.Font defaultFont = new Font("arial", Font.PLAIN, 17);
public void setDefaultFont(java.awt.Font defaultFont) {
this.defaultFont = defaultFont;
}
public void addFont(String name, java.awt.Font font) {
fonts.put(name, font);
}
public Font getFont(String name) {
if (!fonts.containsKey(name)) {
return getDefaultFont(name);
}
return fonts.get(name);
}
private Font getDefaultFont(String name) {
logger.fine("font " + name
+ " not found, using default font instead");
if (defaultFont != null) {
return defaultFont;
}
throw new RuntimeException("font " + name + " not found");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy