Reenviar todos los eventos

Me gustaría reenviar todos los eventos de un widget a otro en SWT. ¿Es posible hacer esto?

Para el registro:
Tengo un widget de casilla de verificación sobre un fondo oscuro. En Windows, es imposible establecer el color de la etiqueta de un botón, Windows usa negro, lo que hace que mi casilla de verificación sea ilegible. Por lo tanto, mi solución fue crear una casilla de verificación sin etiqueta y colocar una etiqueta SWT estándar al lado. Esto funciona muy bien hasta que trato de hacer clic en la etiqueta. El comportamiento esperado es que hacer clic o pasar el mouse sobre la etiqueta es lo mismo que hacer clic o pasar el mouse sobre la casilla de verificación.

preguntado el 12 de junio de 12 a las 20:06

No sé mucho sobre SWT. ¿Es Swing una opción para usar? Swing aprovecha el sistema operativo Windows, mientras que SWT es genérico para el sistema operativo. -

No, en realidad es al revés. SWT es un contenedor para el kit de herramientas de widgets nativos. Swing dibuja todo por sí mismo. Swing no es realmente una opción para mí, porque me gustaría admitir Linux y Mac OS correctamente. Swing no representa correctamente los widgets nativos en Linux. -

2 Respuestas

Te recomiendo que agregues un paintListener a su casilla de verificación y en su paintControl Vuelva a dibujar el texto con el color que desee en la misma posición del texto original.

De esta manera, no tendrá que lidiar con un widget adicional.

EDITAR: Como dijiste, el PaintListener no es una opción, entonces le sugiero que agregue a la etiqueta oyentes a todos los eventos que desea reenviar a la casilla de verificación.

En la casilla de verificación, agregue los mismos oyentes (no las mismas instancias, los mismos tipos).

Finalmente, en los oyentes agregados a la etiqueta, simplemente haga

yourCheckBox.notifyListeners( eventType, event );

Respondido el 13 de junio de 12 a las 13:06

De hecho, pensé en hacer esto, pero el suavizado se ve mal con ciertas combinaciones de colores. - Krispy

¿No puede simplemente crear una instancia del oyente y agregarla a ambos widgets?

Respondido el 13 de junio de 12 a las 12:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.