Este es un botón swing normal:
Ahora un botón normal aplicando substance(esta seleccionado):
Esto se logra al aplicar la substance a nuestra ventana, como lo vimos aquí, el color depende del tema que se le aplique a nuestra interfaz.
Colocarle una forma al botón para redondear sus bordes..:
Para cambiar la forma de un botón podemos modificarlo después del
initComponents()..:
public Ventana() {
initComponents();
this.btnNuevo.putClientProperty( SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
}
Con esto conseguimos que un botón como el siguiente:
StandardButtonShaper() |
O bien si lo hacemos con una altura y un ancho determinado, podremos obtener algo así:
StandardButtonShaper() |
Hacer un botón abierto redondeando sólo uno de sus lados:
Para modificar los botones de nuestra interfaz lo tenemos que hacer luego del initComponents() de nuestra ventana, es decir después de haber creado los botones, podemos modificar algunos controles, pero en este caso veremos sólo con los botones. Para ello modificamos la propiedad putClientProperty de cada botón Swing a modificar ejm:
public Ventana() { //Constructor de nuestra Ventana, la cual contiene los botones.
initComponents();
this.btnNuevo.putClientProperty( SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());
this.btnNuevo.putClientProperty( SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY, SubstanceConstants.Side.RIGHT);
this.btnNuevo.putClientProperty( SubstanceLookAndFeel.BUTTON_OPEN_SIDE_PROPERTY, SubstanceConstants.Side.RIGHT);
}
Con este código nos resulta el botón:
![]() |
Side.RIGHT |
![]() |
Side.LEFT |
![]() |
Side.TOP |
![]() |
Side.BOTTOM |
Nota-Recomendación: He notado que si no tenemos un texto en el botón, este no toma la forma deseada, es decir: si tengo la propiedad text del botón vacía, no se aplican las formas a los botones como lo vimos en la parte superior, para ello lo que hice fué colocar un espacio vacío en la propiedad text(" ") y funcionó correctamente.
Espero les sirva de ayuda...
Que tal exelente guia,
ResponderEliminarpero cuando agrego una imagen en vez de texto coje la forma original del texto como puedo hacer para que sequede redondo??
Gracias Saludos
no me funciona lo de redondear los botones no me sale errores inporte la substance y todo y nada me gustaria saber el porque me pasa esto, gracias por leer mi duda
ResponderEliminaryo tengo la misma duda .__. solo quiero el pinshiii boton redondeadito y saliendo del fondo :'(
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarMuy bueno pero tengo una pregunta, ¡Como hago para cambiar formas en otros controles así como en los botones redondeados ahora con tablas, barras de progreso, menús, entre otros?
ResponderEliminar