Mon application est un JApplet qui ouvre un JFrame. l'applet a un écouteur et un bouton, de sorte que si l'image passe derrière une autre fenêtre (perd la mise au point), l'utilisateur peut simplement cliquer sur le bouton pour l'amener au premier plan. frame.toFront();
Cela fonctionne bien.JFrame disparaît derrière la fenêtre du navigateur de l'applet
Mais d'abord (dans l'applet de public void init() {}
), après avoir appelé frame.setVisible(true);
j'appelle à frame.toFront();
pour vous assurer qu'il commence devant. Cependant, le cadre passe immédiatement derrière le navigateur. En appuyant sur le bouton l'appelle, cependant. J'ai essayé d'exécuter un thread séparé qui appelle à plusieurs reprises frame.toFront();
Mais dès que cela s'arrête, le cadre passe derrière le navigateur de toute façon. Ce n'est que lorsque le bouton est pressé qu'il vient à l'avant et reste devant. De plus, avoir une boucle ou un temps qui la maintient continuellement devant n'est pas une bonne option, parce que l'utilisateur peut avoir besoin ou vouloir le faire intentionnellement. Ce "bug" n'est pas présent sur le Mac (qui exécute Java 1.5), mais sur Windows (en cours d'exécution 1.6) - y compris IE, FF, Chrome, Safari, mais pas Opera (étrangement).
Cause possible et solution?
Non, ce n'est pas autorisé. –