Agregar un componente infantil a un JButton
-
16-09-2019 - |
Pregunta
¿Es posible colocar un componente infantil dentro de un JButton
y hazlo transparente a un subconjunto de eventos de ratón para que:
- El componente infantil recibe
MouseMotionEvent
S (por lo que puede responder modificando una imagen mostrada) - Hacer clic aún deprime el
JButton
"Detrás" el componente infantil
Si agrega el componente infantil al botón pero no realiza otros cambios, hacer clic en el área ocupada por el niño no activa el botón.
Sé que esto se puede lograr creando una nueva clase que se extienda JButton
Pero preferiría usar un componente infantil que ya se haya escrito.
Nota: Esto es puramente por razones cosméticas. El componente infantil solo cambia su propia apariencia. No realiza ninguna otra acción en respuesta a los clics. Solo hay uno Action
, activado por el botón de la manera normal.
Solución
Sí, es posible, pero probablemente hay mejores formas de cambiar la apariencia de un JButton en el mouse. Puede extender un Butedui para hacer eso. Sin embargo, si desea soltar un componente sobre un JButton, debe pasar otros eventos del mouse (por ejemplo, clics) al JButton subyacente.
Otros consejos
Jxlayer es justo lo que necesitas. Verificar https://jxlayer.dev.java.net/El sitio del proyecto tiene varios artículos buenos sobre el uso de JXLAYER para muchos casos de uso diferentes.