Question

Je veux simplement appeler une action swing à partir de mon propre menu contextuel. Mais puisqu'il existe un responsable de la sécurité, j'ai besoin d'une solution pour appeler cette action sans l'appeler directement. Par exemple, l'action de collage d'un composant texte échouera, car sun.swing.SwingUtilities2 ne peut pas être chargé s'il y a une de mes classes dans la pile d'appels.

Existe-t-il un moyen de mettre en file d'attente un événement dans le fil d'événements? JComponent.dispatchEvent ne fait pas le travail car il traite l'événement lui-même.

Était-ce utile?

La solution

Réponse courte: vous ne pouvez pas sans signer l'applet.

Réponse longue: Si vous pouviez sans autorisation, vous pourriez mettre en file d'attente toutes sortes de messages intéressants. Votre exemple, coller ou sous forme longue: avoir accès à quelque chose que le client a déjà copié, est une action que le client doit connaître et autoriser. Pensez à un applet rouge surveillant le presse-papiers, et "collant". tout et l'envoyer sur le fil à un serveur distant. Votre code secret, par exemple.

La solution consiste à signer votre applet, indiquant ainsi au client "Il est de votre responsabilité ici que cette applet ne soit pas diabolique". et demander à l'utilisateur s'il / elle vous croit. Si oui, le responsable de la sécurité ne vous bloquera plus. Sinon, l'utilisateur se méfie de vous, pourquoi la JVM devrait-elle agir autrement?

Voir http://java.sun.com/developer/ formation en ligne / programmation / JDCBook / signed.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top