Pregunta con método SetFont();

Iniciado por rigoxls, 29 Julio 2009, 00:09 AM

0 Miembros y 1 Visitante están viendo este tema.

rigoxls

Saludos a todos, tengo una pregunta con el metodo setfont, la sintaxis para cambiar el tamaño y tipo de letra es la siguiente

f2=new Font("actionis",Font.BOLD,70);
miobjeto.setFont(f2);


pero me surge una duda, si notan la fuente actionis no es una fuente que venga predeterminada con windows, hay que descargarla de internet e instalarla en el ordenador, cuando genero el documento .jar y lo pruebo en otra maquina diferente a la mia evidentemente no mostrara la fuente por no tenerla instalada.

Habra alguna manera de acceder a la fuente mediante alguna ruta especial, para que al generar el archivo .jar la fuente la tome de los archivos comprimidos dentro de alguna carpeta en mi proyecto?

o hay alguna forma de instalar la fuente automaticamente al momento de ejecutar el jar?
No hay verdades absolutas sin ciegas posiciones !!!

er_rafael_rafi

Supongo que pasandole la ruta de la fuente tambien funcionaria...siempre que este en el mismo jar claro....

rigoxls

#2
saludos a todos, encontre la solucion despues de investigar por varios lados, esto funciona si quieren seleccionar un tipo de fuente diferente a las que vienen por defecto con windows y deciden compilar su archivo en un jar.

Bueno, es solo diseñar una clase como esta y listo

import java.awt.*;  
import java.util.*;
import java.awt.Font;
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;


public class fuentes{
public fuentes(){
}

public Font fuentes1(String font_name){

try {
    font = Font.createFont(Font.TRUETYPE_FONT, new File(font_name));    
    }catch (Exception ex) {
    }
    return font.deriveFont(60f);

}
}


Para mas referencias visiten http://java.sun.com/docs/books/tutorial/2d/text/fonts.html

Espero que les sea de ayuda...
No hay verdades absolutas sin ciegas posiciones !!!

Pablo Videla

Nunca se aprende demasiado   ;-), osea podriamos crear una clase completa llena de fuentes  :o

juancho77

No entiendo que es "eventos" en esa clase. De donde surge?
Ademas, creo que lo único que esa clase hace es intentar encontrar en el directorio relativo una fuente con el nombre que se le indique y crear un objeto java.
Pero vale, si así te funciona. No soy ningún experto en fuentes jaj
Un abrazo.

Pablo Videla

No se pueden agregar fuentes como cualquier source sin hacer clases?

rigoxls

Saludos, bueno pues respondo con base en mi experiencia propia a mi problema solucionado...

respondiendo:
No entiendo que es "eventos" en esa clase. De donde surge?
bueno, si perdon error mio, eventos es la ruta de una variable estatica en mi programa.

osea podriamos crear una clase completa llena de fuentes ?
Bueno, en el link que colgue en el mensaje de arriba habla de ello, aunque esta en ingles, pero eso nunca fue problema para nosotros... ;D

No se pueden agregar fuentes como cualquier source sin hacer clases?

Pues bueno, ese codigo lo andube buscando y preguntando por cuanto foro encontre, y lo mas parecido a una solucion fue la clase que acabe de colgar...

la funcion de la clase es como lo dice juancho77, buscar una fuente dentro del jar y pues disponer de ella en la aplicacion, asi evitamos tener que instalar fuentes en cada maquina donde ejecutemos el jar....

No hay verdades absolutas sin ciegas posiciones !!!

Pablo Videla

Pero guardar la fuente en la carpeta source no tendrias que volver instalarlo mas ya que estaria en el jar... y solo haces una referencia en el source , creo que si se puede... ahora implementarlo en el codigo ni idea , pero teoricamente se deberia poder.

rigoxls

Saludos,

te refieres a realizar algo asi:

f=new Font("/source/actionis",Font.BOLD,60);
    jlineas.setFont(f);


es que intente por todo lado pero la neta no me salio.... :silbar:
No hay verdades absolutas sin ciegas posiciones !!!