IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

mode plein écran


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut mode plein écran
    Bonjour à tous,

    je veux essayer de passer ma fenêtre en mode plein écran.

    Ma config :
    MAC OSX 10.3
    Java 1.4.1_01
    J2RE standard Edition
    editeur : JEdit

    Ce que j'aimerai faire :
    Afficher une fenêtre avec tous les composant, les images et les textes que j'ai pu lui ajouter en mode plein écran.

    Procédure :

    j'ai une classe Fenew, dérivée de Frame qui à un constructeur (créations et placements des composants) et une méthode paint
    et une classe pleinEcran (contenant la méthode main()) qui affiche Fenew en mode pleinEcran pendant 10 seconde puis le remet en mode fenêtré.

    Problème :

    Quand je met en marche, j'ai effectivement ma fenêtre qui s'affiche en plein écran mais seulement pendant 1/4 de seconde, ensuite, automatiquement, l'écran affiche un écran blanc pendant les 10 secondes pour enfin revenir en mode fenêtré.

    Je ne crois pas que ça vienne de mon code, j'ai repris le même code que j'ai pu trouver sur d'autres sites.
    Peut être un problème de Hardware ?
    Quelqu'un a une idée ?

    Voilà, merci pour votre aide !

    Sources :

    Fenew.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    /*
    Sous classe de Frame que j'ai crée pour surchargé paint()
    */
     
    import java.awt.*;
    import javax.swing.*;
     
    public class Fenew extends Frame
    {
    	// Données membres
    	Button b1;
    	Font f1;
     
    	public Fenew() {
     
    		super();
     
     
    		b1 = new Button("Quitter");
    		f1 = new Font("MaFont",Font.PLAIN,70);
    		this.setLayout(new BorderLayout());
    		this.add(b1,BorderLayout.NORTH);
    		this.setBounds(20,20,1000,1000);
     
    		this.setBackground(Color.red);
    		this.setForeground(Color.blue);
     
    		this.setFont(f1);
     
    		this.setUndecorated(true);
    		this.setResizable(false);
    	}
     
     
    	public void paint(Graphics g) {
    		if (g instanceof Graphics2D) {
     
    			// Pour avoir du texte antialiasé
    			Graphics2D g2 = (Graphics2D)g;
    			g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
    		}
    		g.drawString("Salut les enfants !",100,400);
     
                // Affichage de l'image
    		ImageIcon iic = new ImageIcon("./opaque.png");
    		Image ima = iic.getImage();
    		g.drawImage(ima,100,100,null);
    	}
     
    }
    ****************************************************

    pleinEcran.java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    import javax.swing.*;
    import java.awt.*;
     
     public class pleinEcran
     {
     
    	 public static void main(String[] args) {
     
    		// On crée une fenetre Frame
    		Fenew maWindow = new Fenew();
     
    		// GraphicsDevice = périphérique de sortie
    		GraphicsDevice device;
     
                   GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
     
    		device = ge.getDefaultScreenDevice();
     
    		// Je passe en mode plein écran
    		if (device.isFullScreenSupported())
    			device.setFullScreenWindow(maWindow);
     
    		/* Minuteur : au bout de 10 secondes, la fenetre
    		revient en mode fenetre (pour que je puisse
    		ravoir la main */
    		try {
    			Thread.sleep(10000);
    		}
    		catch (InterruptedException ie) {}
     
    		//On retourne en mode fenetré
    		device.setFullScreenWindow(null);
     
    	 }
    }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    je sais pas si ce topic peut t'aider

    http://java.developpez.com/faq/java/...SIN_fullscreen

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci

    mais en fait, j'y étais déja allé.

    EDIT : je passé setUndecorated() à true puisqu'il est conseillé de le faire.
    Mais ça ne marche toujours pas comme je le voudrais

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Points : 40
    Points
    40
    Par défaut
    Personnellement, pour avoir mes fenêtres en plein écran, j'utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setExtendedState(JFrame.MAXIMIZED_BOTH);
    J'ai trouvé ça en parcourant le forum, et j'ai essayé, et ça a marché
    Si tu tapes ta tête contre une cruche et que ça sonne creux, ce n'est pas forcément la cruche qui est vide !!
    Mes topics sont tabous, vous en viendrez tous à bout.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Personnellement, pour avoir mes fenêtres en plein écran, j'utilise ça
    Mais quand tu fais ça, tu ne passes pas vraiment en mode plein écran : c'est plutôt comme si tu dimensionnais ta fenêtre pour qu'elle englobe tout l'écran (comme de faire un setBounds(0,0,screenSizeX,screenSizeY)
    mais ta fenêtre n'a pas l'exclusivité de l'affichage, non ?

    De toute façon, si je n'y arrive pas avec cet histoire de plein écran, je ferais comme tu m'as montré.

    Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    Salut, je viens d'essayer ton code, ca marche nickel.
    Ca doit venir dautre part.
    Essaye juste une fois de passer sous SDK 1.4.2, cest ma version...


    Au fait, je viens de penser, ton écran blanc, cest peutetre un problème de buffer, parce que en plein écran, le double buffer n'est pas utilisé par défaut, il faut le mettre explicitement.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ok, je vais essayé ce que tu m'a demandé (pas tout de suite, parce que j'ai d'autres trucs à faire ).

    Je poste si je trouve lea solution .

    Merci à tous pour vos aides et suggestions !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai mis à jour Java.
    Je suis maintenant en 1.4.2-05 et ça marche !

    J'ai pas encore résolu tous mes soucis, mais j'avance !

    Encore merci à tous !

  9. #9
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    encore heureux que ca marche, c'est moi qui l'est écrit, donc c'est du 100% testé et approuvé 8)
    comme quoi faut toujours avoir le dernier JDK/JRE sinon c'es buggé

    et encore y'a un bug qui subsiste avec l'actuel snif, le passage en fullscreen ou la remise en fenetré peut planter le programme de temps en temps
    les aléas de Java quoi
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2006, 13h22
  2. Formulaires en mode plein écran
    Par PAUL87 dans le forum IHM
    Réponses: 18
    Dernier message: 26/11/2005, 11h45
  3. Presentation d'un formulaire en mode plein écran
    Par PAUL87 dans le forum Access
    Réponses: 4
    Dernier message: 13/11/2005, 20h04
  4. Réponses: 17
    Dernier message: 17/10/2002, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo