GetWidth non funziona

di p0ll0_ il
3 risposte
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

  • 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.
  •    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
  • 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