Question

Je suis en train de concevoir une expérience de psychologie avec des applets java. Je dois rendre mes applets java en plein écran. Quel est le meilleur moyen de le faire et comment puis-je le faire.

Comme je n’utilise plus d’applets java depuis 3 ans (la dernière fois que je l’utilisais, c’était pour un devoir de cours :)), j’ai oublié la plupart des concepts. J'ai googlé et trouvé ce lien: Web Dani

Mais dans la méthode décrite dans le lien ci-dessus, vous devez insérer un JFrame dans l'applet, ce que je ne sais pas du tout.

Quoi que j’ai besoin d’une méthode rapide et sale parce que je n’ai pas beaucoup de temps et c’est la raison pour laquelle je l’ai posée ici.

Merci d'avance

Était-ce utile?

La solution

Je pense que vous souhaitez utiliser WebStart. Vous pouvez déployer à partir d'un navigateur, mais il s'agit sinon d'une application complète. Il existe quelques restrictions de sécurité liées au navigateur, mais, comme vous utilisez actuellement une applet, je pense pouvoir en déduire que ce n'est pas un problème.

Autres conseils

La réponse évidente est de ne pas utiliser d’applets. Ecrivez une application utilisant JFrame ou JWindow comme conteneur de niveau supérieur. Convertir une applet en application ne représente pas un travail énorme. Les applets sont conçus pour être intégrés à autre chose, généralement une page Web.

Si vous possédez déjà une applet et souhaitez passer en plein écran, deux manipulations rapides et salissantes vous attendent:

1). Si vous connaissez la résolution de l'écran, définissez simplement les paramètres de l'applet sur HTML, puis exécutez le navigateur en mode plein écran.

2). Exécutez l'applet dans appletviewer plutôt que sur une page Web et agrandissez la fenêtre appletviewer.

Pourquoi ne pas simplement ouvrir un nouveau cadre à partir de l'applet (soit à partir de la méthode "start ()" ou, de préférence, après que l'utilisateur a appuyé sur un bouton "Ouvrir") et le définir pour qu'il soit maximisé?

JFrame frame = new JFrame();
//more initialization code here
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(dim.width, dim.height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

N'oubliez pas: le JFrame doit être créé et ouvert à partir de l'EDT. Il n'est pas garanti que l'applet start () soit appelé sur ce fil, utilisez donc SwingUtilities.invokeLater (). Bien sûr, si vous optez pour le bouton route, l’écouteur de boutons est appelé sur l’EDT; vous devez donc être en sécurité.

J'ai trouvé une solution. pour ce problème qui fonctionne bien. Testé sous Linux 64 bits (Chrome et Firefox) et sous Windows 7 64 bits (Chrome et Explorer)

Le seul problème est que mon applet utilise tout l'espace du navigateur et lorsque l'utilisateur désactive le mode plein écran, l'applet n'est pas redimensionné à la taille du navigateur. La solution a été de conserver la taille précédente de l'applet avant de passer en mode plein écran, puis de définir cette taille lorsque l'applet repasse en mode normal:

public void setFullScreen() {   
        if (!this.fullscreen) {
            size = this.getSize();
            if (this.parent == null) {
                this.parent = getParent();
            }
            this.frame = new Frame();
            this.frame.setUndecorated(true);
            this.frame.add(this);
            this.frame.setVisible(true);

            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            GraphicsDevice[] devices = ge.getScreenDevices();
            devices[0].setFullScreenWindow(this.frame);
            this.fullscreen = true;
        } else {
            if (this.parent != null) {
                this.parent.add(this);
            }
            if (this.frame != null) {
                this.frame.dispose();
            }
            this.fullscreen = false;
            this.setSize(size);
            this.revalidate();
        }       
        this.requestFocus();
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top