Cuando realizamos un proyecto java utilizando fuentes de nuestro sistema, al momento de distribuir el programa y ejecutarlo en una PC que no tenga las mismas fuentes, nuestro programa se deforma al tomar el sistema fuentes propias de la pc cliente, para evitar esto podemos incluir nuestra fuente en el JAR de distribución o en un archivo externo, luego cargamos ya podemos cargar la fuente desde java y utilizarla en el proyecto.
Para este ejemplo utilizamos la fuente LISSA___.TTF de uso gratuito :), pueden hacer la prueba con cualquier otra fuente que pueden encontrar en la red.
Nos creamos una clase para cargar y personalizar esta fuente «CustomFont.java», la fuente TTF se encuentra en el mismo paquete que esta clase. Esta clase carga la fuente desde el constructor, ademas tiene una función para personalizar la fuente pasando como parámetros el estilo (Normal, Negrita, Italica) y el tamaño. Si la fuente no puede ser cargada, carga una fuente muy común en todos los sistemas la fuente tipo Arial.
import java.awt.Font; import java.io.InputStream; /** * @web https://www.jc-mouse.net * @author Mouse */ public class CustomFont { private Font font = null; public CustomFont() { String fontName = "LISSA___.ttf" ; try { //Se carga la fuente InputStream is = getClass().getResourceAsStream(fontName); font = Font.createFont(Font.TRUETYPE_FONT, is); } catch (Exception ex) { //Si existe un error se carga fuente por defecto ARIAL System.err.println(fontName + " No se cargo la fuente"); font = new Font("Arial", Font.PLAIN, 14); } } /* Font.PLAIN = 0 , Font.BOLD = 1 , Font.ITALIC = 2 * tamanio = float */ public Font MyFont( int estilo, float tamanio) { Font tfont = font.deriveFont(estilo, tamanio); return tfont; } }
Y para utilizar esta fuente desde cualquier clase, solo debemos instanciarla.
CustomFont cf = new CustomFont(); this.jLabel1.setFont(cf.MyFont(1, 28f)); this.jLabel1.setText("https://www.jc-mouse.net/"); this.jTextField1.setFont(cf.MyFont(1, 20f)); this.jTextField1.setText("Bolivia el mejor pais del mundo"); this.jTextArea1.setFont(cf.MyFont(0, 24f)); this.jTextArea1.setText("Aunque usted no lo crea. \n de Ripley");
El juego de las tragamonedas o tragaperras es un juego muy popular de azar que se puede encontrar tanto en los casinos o[...]
En este tutorial conoceremos lo que es el uso de BitmapFont en LibGDX y algún uso que le podemos dar como crear un menú,[...]
Un BLOB en SQL es un tipo incorporado que almacena un Objeto Binario Grande como un valor de columna en una fila de una[...]
¿Quieres iniciarte en la programación? ¿Eres un programador impaciente que odia instalar cualquier software en su comput[...]
¿Que es el Ciberbullying? Ciberbullying es la unión de dos palabras en inglés cyber + bullying, en español lo conocemos[...]
Un Fragment representa un comportamiento o una parte de la interfaz de usuario en una Activity. Puedes combinar múltiple[...]