Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Faccio dei cicli nella paintComponent ma ho due problemi:

    1)
    Carico un immagine da un file nel pannello.
    Scrivo sopra l' immagine del pannello, fisicamente sul pannello.
    Non riesco ad aggiornare la Graphics in paintComponent durante i due cicli for che rappresentano gli elementi disegnandoli sul pannello.
    Le modifiche avvengono solo alla fine dei cicli.
    Purtroppo non è ancora molto chiaro .... magari riporta del codice che potrebbe chiarire.

    Comunque visto che parli di paintComponent, se fai del custom painting in un componente (es. JPanel), allora in generale è bene dire che il paintComponent deve essere il più breve ed efficiente possibile. In sostanza, vuol dire che nel paintComponent:
    - non devi fare I/O (né su file e meno ancora su networking)
    - non devi (continuamente) caricare immagini
    - non devi fare sleep o altre operazioni potenzialmente bloccanti

    (eventualmente si può caricare immagini/icone non troppo grandi in modo "lazy" cioè solo al primo paintComponent e poi ri-usarle).

    Poi bisogna anche vedere in quale componente stai ridefinendo il paintComponent. Se è un JPanel, esso usa per default il double-buffering. Vuol dire che 2 disegni in sequenza NON li "vedi" distintamente nemmeno se in mezzo ci mettessi (per ipotesi) uno sleep di 1 secondo.
    Ma il double-buffering c'è per un motivo ben preciso, per evitare i brutti effetti di flickering.
    Ultima modifica di andbin; 11-10-2022 a 12:03
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.