Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Java] Problema con JFrame a schermo intero

    cercando un pò in giro ho visto che c'è questo modo per rendere un JFrame a schermo intero in apertura:
    codice:
    setExtendedState(JFrame.MAXIMIZED_BOTH);
    nn mi funziona però bene dappertutto.
    sul MAC 13" si, ma su Linux 17" no.
    questo il codice completo del jframe:
    codice:
    public class DrawPanel extends JFrame {
    
        private JPanel panel;
    
        public DrawPanel(BufferedImage buff) {
            super("Draw panel");
            setExtendedState(JFrame.MAXIMIZED_BOTH);
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            panel = new JPanel();
            panel.setBackground(Color.white);
            add(panel, BorderLayout.CENTER);
            /*Graphics2D gr = buff.createGraphics();
            gr.drawImage(buff, null, getWidth(), getHeight());
            panel.paintComponents(gr);*/
        }
    }
    c'è un motivo particolare?
    conoscete un altro modo??

  2. #2
    Prova una cosa del genere anche se non l'ho testata:

    codice:
    public class DrawPanel extends JFrame {
    
        private JPanel panel;
    
        public DrawPanel(BufferedImage buff) {
            super("Draw panel");
            setExtendedState(JFrame.MAXIMIZED_BOTH);
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            panel = new JPanel();
            panel.setBackground(Color.white);
            add(panel, BorderLayout.CENTER);
            /*Graphics2D gr = buff.createGraphics();
            gr.drawImage(buff, null, getWidth(), getHeight());
            panel.paintComponents(gr);*/
    
            java.awt.GraphicsEnvironment ge = graphicsEnvironment.getLocalGraphicsEnvironment();
            GraphicsDevice cc = ge.getDefaultScreenDevice();
            setVisible(true);
            cc.setFullScreenWindow(this);
        }
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    funziona pure troppo bene.
    il frame copre l'intera finestra senza neanche la barra del titolo.
    la finestra era inchiudibile.
    ho dovuto forzare l'uscita del programma da un altro desktop virtuale.

  4. #4
    Beh volevi il full screen
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    Beh volevi il full screen
    e se invece volessi solo finestra massimizzata??

  6. #6
    Se setExtendedState() non funziona puoi provare ad impostare manualmente la dimensione della finestra. Non è come massimizzarla, ma puoi fare sì che occupi tutto lo schermo.
    L'idea è quella di recuperare la risoluzione dello schermo e di impostare così la dimensione della finestra:

    codice:
    // Lettura larghezza e altezza della risoluzione dello schermo 
    int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
    int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    
    // Impostazione dimensione JFrame
    setSize(width, height);
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Originariamente inviato da satifal
    Se setExtendedState() non funziona puoi provare ad impostare manualmente la dimensione della finestra. Non è come massimizzarla, ma puoi fare sì che occupi tutto lo schermo.
    L'idea è quella di recuperare la risoluzione dello schermo e di impostare così la dimensione della finestra:

    codice:
    // Lettura larghezza e altezza della risoluzione dello schermo 
    int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
    int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    
    // Impostazione dimensione JFrame
    setSize(width, height);
    perfetto così funziona.
    grazie!!

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.