Html en componentes Swing
Muchos componentes Swing (javax.swing) despliguen texto un simple texto, uniforme y sencillo con solo usar con solo determinar las dos propiedades de SetFont y setForeground de un componente determinado. Por ejemplo:
label = new JLabel("Un JLabel");
label.setFont(new Font("Serif", Font.PLAIN, 14));
label.setForeground(new Color(0xffffdd));
Pero si queremos combinar estilos de letras y multiples colores en una sola linea o dar un formato mas enriquecido podemos usar HTML. El formato HTML puede ser usado en JButton, JMenu, JMenuItem, JLabel, ToolTipText, y JTabPane, además con ayuda de un JLabel en el render pueden ser usados en un JTree y un JTable
Para usar formato HTML en un componente debemos poner la etiqueta < html > al principio del texto, seguidamente ponemos texto en formato HTML. Acá un ejemplo de HTML en un JButton:
button = new JButton("<html><b><u>D</u>os</b><br>lineas</html>");
Ejemplo practico
El siguientes ejemplo tiene como fin recibir código HTML y que por otro lado este código sea desplegado en formato HTML. Las fuentes del ejemplo la puedes ver en HtmlDemo.java
Algunas observaciones:
• Ponga código HTML en el área en blanco y luego precionar el botón de abajo
• Quitar la etiqueta < html > del principio del texto para que el código HTML no sea parceado
BotonHTMLDemo
Ahora un ejemplo de tres botones (JButton) aplicando diferentes estilos de fuentes y colores, también se hace el uso de imágenes. El código del ejemplo lo puedes ver en el archivo BotonHtmlDemo.java. Acá un ejemplo de como quedaría:
El botón de la izquierda y derecha usa diferentes tipos de formato y colores y también implementa HTML. El botón del centro usa una sola línea y no usa HTML.
Acá podemos ver el código que especifica el formato de los tres botones:
b1 = new JButton("<html><center><b><u>D</u>esabilitado</b><br>"
+ "<font color=#ffffdd>boton central</font>",
iconoBotonIzquierdo);
Font font = b1.getFont().deriveFont(Font.PLAIN);
b1.setFont(font);
b1.setVerticalTextPosition(AbstractButton.CENTER);
b1.setHorizontalTextPosition(AbstractButton.LEADING);
b1.setMnemonic(KeyEvent.VK_D);
b1.setActionCommand("disable");
b2 = new JButton("middle button", iconoBotonCentral);
b2.setFont(font);
b2.setForeground(new Color(0xffffdd));
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
b2.setHorizontalTextPosition(AbstractButton.CENTER);
b2.setMnemonic(KeyEvent.VK_M);
b3 = new JButton("<html><center><b><u>H</u>abilitado</b><br>"
+ "<font color=#ffffdd>boton central</font>",
iconoBotonDerecho);
b3.setFont(font);
Read More
Evento del boton cerrar de las ventanas
Muchas veces queremos controlar la accion del boton cerrar que se encuentra junto con los botonces de minimizar y maximizar en la barra de titulo, este funcionamiento muchas veces es muy util, sobretodo cuando estn en juego algunos cambios en las ediciones dentro de la aplicacion o porque queremos estar atentos a las acciones del usuario.
Ya sea un JFrame, JPanel, JDialog, o componentes de ventanas solo deben crear una windows listener, por ejmplo, lo podemos hacer en el constructor, quedaria algo como esto:
setDefaultCloseOperation (WindowConstants.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
int eleccion = JOptionPane.showConfirmDialog(null, "Desea salir?");
if ( eleccion == 0) {
JOptionPane.showMessageDialog(null, "saliendo del sistema...");
System.exit(0);
}
}
});
La linea 5 muestra un mensaje diciendole al usuario si realmente deser avandonar la aplicacion luego de que este presiono el boton cerrar
En la linea 6 se hace la comparacion si el usuario selecciono la opcion de “si” cuando se mostro la ventana de confimacion
En la linea 7 se le despliego un nuevo mensaje diciendole adios
En la linea 8 se cierra la aplicacion por completo
Read More

Comentarios recientes