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

    [Swing] repaint anche con finesra minimizzata

    SAlve,

    ho notato che un componente swing quando minimizzato sulla barra delle
    applicazioni non esegue il codice dentro a paintComponent() quando repaint() viene chiamato.
    Badate che non dico il repaint() chiamato dal sistema operativo
    proprio nel momento in cui si minimizza o massimizza una finestra, ma il repaint() fatto da codice
    scritto da me che mi serve che venga eseguito ogni tot millisecondi
    anche se la finestra è minimizzata (per motivi di sincronizzazione tra thread).

    vorrei sapere se c'è un modo per forzare l'esecuzione di paintComponent() quando si chiama
    repaint() o al limite un modo per impedire ad un JFrame di poter essere minimizzato.

    grazie

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

    Re: [Swing] repaint anche con finesra minimizzata

    Originariamente inviato da Mr.Bloom
    ho notato che un componente swing quando minimizzato sulla barra delle
    applicazioni non esegue il codice dentro a paintComponent() quando repaint() viene chiamato.
    Mi pare intuitivo .... se non deve disegnare nulla non deve appunto invocare paint() e quindi nemmeno paintComponent().

    Originariamente inviato da Mr.Bloom
    ma il repaint() fatto da codice scritto da me che mi serve che venga eseguito ogni tot millisecondi anche se la finestra è minimizzata
    Il repaint() puoi certamente sempre invocarlo quando vuoi ... anche in modo "temporizzato".
    Se però ti aspetti che anche il paintComponent() venga invocato sempre (anche con finestra minimizzata) in modo temporizzato ..... beh, direi che al 99,99% il tuo approccio è molto sbagliato.

    Originariamente inviato da Mr.Bloom
    vorrei sapere se c'è un modo per forzare l'esecuzione di paintComponent() quando si chiama
    repaint()
    Ripeto che non ne vedo il motivo ..... non so cosa vorresti fare di preciso ma è una assunzione/presupposizione sbagliata.

    Originariamente inviato da Mr.Bloom
    o al limite un modo per impedire ad un JFrame di poter essere minimizzato.
    Si può impedire la "massimizzazione" ma la "minimizzazione" no, non mi risulta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    capisco.

    L'idea era quella di essere sicuri che, in un ciclo while, venga mostrato il contenuto di un arraylist
    prima di andare avanti con la computazione e quindi usare la wait in modo che una volta che
    il componente sia stato disegnato, il thread swing ceh esegue paintComponent chiama una notify.
    per evitare incoerenze tra l'arraylist e la visualizzazione del suo contenuto

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.