Pregunta

Simplemente quiero llamar una acción de swing desde mi propio menú emergente. Pero como hay un administrador de seguridad, necesito una solución para invocar esta acción sin llamarla directamente. Por ejemplo, la acción de pegar de un componente de texto fallará, porque sun.swing.SwingUtilities2 no se puede cargar si hay alguna de mis clases en la pila de llamadas.

¿Hay alguna forma de poner en cola un evento en el hilo del evento? JComponent.dispatchEvent no hace el trabajo porque procesa el evento en sí.

¿Fue útil?

Solución

Respuesta corta: no puede sin firmar el applet.

Respuesta larga: si pudiera sin permisos, podría poner en cola todo tipo de mensajes interesantes. Su ejemplo, pegar, o en forma larga: tener acceso a algo que el cliente ha copiado anteriormente, es una acción que el cliente necesita saber y autorizar. Piense en un applet rouge que monitorea el portapapeles, " pegando " todo y enviándolo por cable a un servidor remoto. Su PIN, por ejemplo.

La solución es firmar su applet, diciéndole al cliente "es responsabilidad (su nombre aquí) que este applet no es malo". y preguntando al usuario si él / ella te cree. En caso afirmativo, el administrador de seguridad ya no lo bloqueará. Si no, bueno, el usuario desconfía de usted, ¿por qué la JVM debería hacer lo contrario?

Ver http://java.sun.com/developer/ Capacitación en línea / Programación / JDCBook / firmado.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top