GetWidth non funziona

di il
3 risposte

GetWidth non funziona

Prima metto questo codice che serve per la grandezza minima della finestra
   super.setMinimumSize(new Dimension(810, 565));
poi metto questo che serve a fare aprire a tutto schermo la finestra
  super.setExtendedState(JFrame.MAXIMIZED_BOTH);
e poi metto questo
  System.out.println(super.getWidth());
e mi stampa 810, ma ovviamente dovrebbe stampare di più... perché? Grazie.

3 Risposte

  • Re: GetWidth non funziona

    Evidentemente quella print viene fatta PRIMA che la finestra venga effettivamente ingrandita.
    Il setExtendedState() va solo ad impostare una proprietà della finestra, ma l'applicazione di quello stato avviene in un momento successivo (dopo che la finestra è stata visualizzata).
    Dovresti postare il codice, per farci avere la situazione chiara.
  • Re: GetWidth non funziona

       super.setExtendedState(JFrame.MAXIMIZED_BOTH);
          //  boh = SwingUtilities.getWindowAncestor(toolBar).getBounds();
    
      //      tabella_();
            System.out.println(super.getWidth());
    
            splitPane.setContinuousLayout(true);
    Questo è il codice e stampa ancora 810... Grazie
  • Re: GetWidth non funziona

    p0ll0_ ha scritto:


    e mi stampa 810, ma ovviamente dovrebbe stampare di più... perché? Grazie.
    Il getWidth() è la dimensione "fisica", reale del componente. Come concetto, se massimizzi una finestra, non c'entra nulla il minimumSize della finestra.

    E comunque se fai il getWidth() APPENA dopo il setExtendedState(JFrame.MAXIMIZED_BOTH), non vuol dire nulla, perché la massimizzazione avverrà solo ben dopo, quando il controllo è tornato al framework e si accorge che deve massimizzare la finestra.
Devi accedere o registrarti per scrivere nel forum
3 risposte