HTML en componentes Java

|

Algunos componentes que heredan de javax.swing.JComponent de java que despliegan un String como parte de su GUI, permiten para su formato el uso de los tags HTML. La utilidad de esto es el mezclar un formato para el texto a mostrar (color, tamaño, estilo, uso de viñetas) o por que no también el mostrar una imagen.[How to Use HTML in Swing]

Lo que no se puede hacer

  • Manejo de eventos del mouse a través del HTML
  • Imagenes embebidas
  • Para que los hyperlink funcionen como tal se debe de hacer uso de otras API como JHyperlink las cuales están en proceso de prueba/desarrollo.Algunos desarrolladores prefieren agregar MouseListener al componente en especifico, obtener la URL y hacer la llamada al navegador por default (Obviamente todo esto a pata :S)

Desde luego que hay componentes java para el soporte de HTML, pero su uso depende del fron-end a desarrollar.[JHyperlink][foro1][foro2]


Precauciones de uso

Vaya tampoco crean que van a implementar todos los tags habidos y por haber, al parecer solo soporta algunos tags definidos hasta la versión 3.1 del HTML No es muy bueno al momento de manejar complejos HTML

Recomendaciones

  • Es importante que los tags que inserten se encuentren debidamente cerrados y correctamente usados, pues podrían generar una excepción ya sea en compilación o en ejecución. Lo cual les traería mayor dolor de cabeza.
  • Uso de JXHyperlink. Hay extensiones del Swing como [SwingX] las cuales tiene componentes como JXHyperlink.


Ejemplo

import javax.swing.JLabel;

/**
* Fecha de creación: 19/07/2008
* @author Gabriel Martínez Nájera
*/
public class Test {
JLabel method() {
String link = "http://www.explotandocodigo.blogspot.com";
String anun = "" +
"Visita: " +
"" + link + "" +
"
Contacto:gmartinez...gmail.com" +
"";
JLabel jlblAnuncio = new JLabel(anun); return jlblAnuncio;
}
}

El cual ya implementado sobre un componente podría quedar así:

HtmlExampleJava

1 comentarios:

Cyberprimo dijo...

Caray java se mejora a pasos agigantados tendre que tomar muy en cuenta ese lenguaje