2017-10-16 27 views
-1

J'ai essayé d'afficher une image en mode plein écran dans Java avec JFrame mais je ne peux pas le faire fonctionner.Afficher l'image en plein écran dans java

Lorsque je crée un nouvel objet de cette fenêtre blanche ouvre en mode plein écran, mais l'image ne soit pas affichée:

import java.awt.GraphicsDevice; 
import java.awt.GraphicsEnvironment; 
import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 

public class DisplayManager { 

    private JFrame jf; 

    public DisplayManager() { 

     //jframe 
     jf = new JFrame(); 
     jf.setExtendedState(JFrame.MAXIMIZED_BOTH); 
     jf.setUndecorated(true); 
     jf.setVisible(true); 
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
     GraphicsDevice device = env.getDefaultScreenDevice(); 
     device.setFullScreenWindow(jf); 

     jf.add(new JLabel(new ImageIcon("E:/NetBeansProjects/Project/res/Test.png"))); 

    } 

} 
+0

Apparaît-il si vous n'utilisez pas le mode plein écran? – Kayaman

+1

Copie possible de [Affichage d'une image dans Java Swing] (https://stackoverflow.com/questions/8333802/displaying-an-image-in-java-swing) – pvg

+0

Si je supprime device.setFullScreenWindow (jf); rien ne se montre. Edit: Lorsque je supprime les éléments GraphicsEnvironment et jf.setUndecorated (true); une fenêtre blanche s'ouvre. Lorsque je redimensionne cette fenêtre, l'image apparaît:/ – Marcus

Répondre

0

La taille par défaut d'un composant est (0, 0), donc il y a rien à peindre à moins que le gestionnaire de disposition n'ait été appelé pour donner au composant une taille et un emplacement.

Les composants doivent être ajoutés à la trame AVANT le cadre est rendu visible.

+0

Oh wow. Je me sens stupide maintenant. Je devais juste appeler jf.setVisible (true); après avoir ajouté l'image. Merci :) – Marcus