Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    15

    Il disegno sparisce quando riduco a icona la finestra [JAVA]?

    Ho aggiunto al frame principale un pannello in cui disegno un grafico, però ho notato che quando riduco a icona la finestra mi sparisce tutto, ho pensato quindi di aggiungere un listener per gli eventi del frame e tramite una classe adapter ho fatto l'override del metodo windowDeiconified in una classe interna anonima, in cui richiamo il metodo repaint del panel, in questo modo ogni volta che ripristino la finestra mi dovrebbe ridisegnare tutto, eppure non succede nulla...

    Come posso fare? Dove sbaglio?

    __________________________________________________ _______________

    MioFrame.this.addWindowListener(new WindowAdapter()
    {

    @Override
    public void windowDeiconified(WindowEvent e)
    {
    super.windowDeiconified(e);
    repaint();
    }

    });


    __________________________________________________ _______________

    Se ridefinisco il metodo windowActivated per esempio, mi funziona bene... ma a me serve intercettare l'altro evento.

    Spero di essermi spiegato bene.

  2. #2
    Utente di HTML.it L'avatar di yuno
    Registrato dal
    Apr 2010
    Messaggi
    62
    ciao, sinceramente non è molto chiaro, mi risulta strano che quando riduci ad icona viene cancellato il grafico,secondo me dovresti cercare di capire perchè scompare invece di ridisegnarlo.
    Detto questo invece di chiamare repaint() prova a chiamare validate() sul frame che forza il repaint su tutti i componenti contenuti in esso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    15
    ciao, sinceramente non è molto chiaro, mi risulta strano che quando riduci ad icona viene cancellato il grafico,
    Eppure è così! Probabilmente perchè ho disegnato il grafico tramite il metodo paintcomponent che viene richiamato automaticamente ogni volta che avviene una modifica.
    secondo me dovresti cercare di capire perchè scompare invece di ridisegnarlo.
    Detto questo invece di chiamare repaint() prova a chiamare validate() sul frame che forza il repaint su tutti i componenti contenuti in esso.
    Non cambia nulla...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa come disegni il grafico?
    Repaint dovrebbe bastare a forzare il ridisegno, prova a mettere in paint delle stringhe che stampi a video (un minidebug insomma) e vedi se quando ingrandisci la finestra viene chiamato il paint del componente
    RTFM Read That F*** Manual!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.