All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.lessvoid.nifty.java2d.renderer.FontProviderJava2dImpl Maven / Gradle / Ivy

There is a newer version: 1.4.3
Show newest version
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