Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    14

    Problema con fullscreen

    Salve a tutti,
    ho diversi frame e voglio abilitare la modalità fullscreen.. in pratica da un frame a un certo punto chiamo l'altro in questo modo(es. il frame login):

    java.awt.GraphicsEnvironment graph = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice graphDevice = graphDevice.getDefaultScreenDevice();
    Login login = new Login(title);
    login.setVisible(true);
    graphDevice.setFullScreenWindow(login);
    this.setVisible(false);

    però mi da diversi problemi tra cui i dialogue box del nuovo frame che vanno in secondo piano, lentezza nelle creazione, l'immagine di sfondo non occupa tutta la finestra ma rimane uno spazio vuoto nel top.. problemi che con la finestra in modalità estesa non avevo..
    Ho sbagliato qualcosa? Devo utilizzare un altro modo?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema con fullscreen

    Originariamente inviato da Rynard
    ho diversi frame e voglio abilitare la modalità fullscreen.. in pratica da un frame a un certo punto chiamo l'altro in questo modo(es. il frame login):

    Ho sbagliato qualcosa? Devo utilizzare un altro modo?
    Alt. La prima questione è: che cosa stai cercando di realizzare come tipo di applicazione in generale? Un gioco?

    Quel setFullScreenWindow ha a che fare con una API particolare: la "Full-Screen Exclusive Mode API" (vedere qui sul tutorial ufficiale).
    Questa API è quella utilizzabile ad esempio da videogiochi. Consente di cambiare la modalità video (risoluzione, bit depth, refresh), permette grafica ad alte prestazioni, con tanto di double-buffering/page-flipping e altro.

    Quindi: ti serve tutto questo? O devi molto più banalmente solo "massimizzare" una finestra? Perché se è così ti basta: o cambiare lo stato del frame con setExtendedState (di Frame/JFrame) oppure ancora più banalmente cambiare posizione/dimensione di una qualunque finestra per occupare tutto lo schermo. E per sapere la dimensione ci sono getScreenSize di Toolkit o getMaximumWindowBounds di GraphicsEnvironment, ad esempio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    12
    Ciao, anche io avevo questo problema. Ho ascoltato il tuo consiglio ma, non essendo realmente un full screen, la barra degli strumenti di windows va a coprire parte del frame. Vorrei quindi capire se c'è un modo per rilevare dinamicamente la dimensione della barra degli strumenti in modo di poterla sottrarre al dimension.height oppure un'altra soluzione a questo problema.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da sbolo
    Ciao, anche io avevo questo problema. Ho ascoltato il tuo consiglio ma, non essendo realmente un full screen, la barra degli strumenti di windows va a coprire parte del frame. Vorrei quindi capire se c'è un modo per rilevare dinamicamente la dimensione della barra degli strumenti in modo di poterla sottrarre al dimension.height oppure un'altra soluzione a questo problema.
    getScreenSize di Toolkit fornisce la dimensione completa/totale dello schermo (e nota: quello "primario" se in ambiente multi-monitor).
    Se si vuole si può sottrarre da queste dimensioni gli "inset" dovuti a toolbar, ecc.. usando anche getScreenInsets di Toolkit ma bisogna passare un GraphicsConfiguration relativo a quel display primario.

    Mentre invece getMaximumWindowBounds di GraphicsEnvironment fornisce il Rectangle escludendo già eventuali toolbar, ecc.. del sistema.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.