Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    @andbin Grazie.
    jabjoint

  2. #2
    "SwingUtilities" è necessario?

    Ho provato col classico "new" e funziona ma ho problemi:

    Infatti se piazzo una variabile: boolean started=true, non riesco ad ottenere un codice nel "paintComponent" che parta solo come prima impostazione(started=true)...
    jabjoint

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    [Non ho capito nulla
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Quote Originariamente inviata da oregon Visualizza il messaggio
    [Non ho capito nulla

    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...
    Ultima modifica di jabjoint; 19-06-2022 a 10:07
    jabjoint

  5. #5
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    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

  6. #6
    Quote Originariamente inviata da Joe Taras Visualizza il messaggio
    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
    Si è chiaro l'invokeLater, è utilissimo in realtà altrimenti capita che stampa il disegno prima e non si vede nulla.
    jabjoint

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.