Quote Originariamente inviata da jabjoint Visualizza il messaggio
codice:
   public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new FrameProva().setVisible(true));
    }
Prima domanda:

1. Qual è l'utilità di: "SwingUtilities.invokeLater(()->....)"

Seconda:

2. Se nel codice seguente inserisco una variabile START per controllare la prima esecuzione(deve stampare la grafica a video solo una volta al primo lancio):

codice:
  @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (START){
        g.drawString("Ciao", 20, 30);
        START = false;
         }
         else {
         //fai altro
         }

    }
Non disegna nulla...
Ciao,
provo a rispondere alle tue domande.

La 1: viene chiamato l'InvokeLater in modo da disegnare quando è stata completata la creazione del pannello

La 2: bisogna vedere come è stata istanziata la variabile START.

In ogni caso, ti allego questo link, è un PDF, dove racconta l'uso di Paint, Repaint etc..

https://web.stanford.edu/class/archi...intRepaint.pdf