Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Ok il progetto va bene, io in generale andrei meglio con un file singolo anche perché così non serve fare il download e si ha tutto sotto mano.
    Al massimo se non riesci a caricare un .java cambia l'estensione in .txt ma mantieni la stessa struttura che dicevo.


    A me comunque il problema "si risolve" se inserisco l'istruzione che ti dicevo dentro all' invokeLater () di SwingUtilities.
    In pratica nella classe Disciplina1, alla fine del costruttore, modifichi le due righe seguenti :


    codice:
    scrollesterno.getVerticalScrollBar().setUnitIncrement(7);
    c.add(scrollesterno);

    In queste :


    codice:
    scrollesterno.getVerticalScrollBar().setUnitIncrement(7);
    SwingUtilities.invokeLater (new Runnable () {
            public void run () {
                scrollesterno.getViewport().setViewPosition(new Point(0, 0));
            }
         });
    c.add(scrollesterno);

    In Swing tutte le azioni che coinvolgono o modificano l'interfaccia dovrebbero avvenire all'interno di un unico thread a questo deputato, detto Event Dispatch Thread (EDT).
    In teoria il problema è più a monte, nel senso che è proprio tutta l'inizializzazione dell'applicazione che dovrebbe essere fatta in questo modo, questa è solo una toppa temporanea.


    Se ti interessa approfondire potresti iniziare con il tutorial ufficiale, qui trovi il link alla seconda pagina che mostra già un esempio di uso dell' invokeLater(), ma io mi darei anche una letta all'introduzione. Poi c'è ancora tanto da migliorare qua e là
    Ultima modifica di Ansharja; 08-01-2017 a 23:19

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    31
    Grazie mille, hai risolto il mio problema, sono molto felice, ora funziona
    Mi spiegheresti meglio quelle due righe di codice "magiche" che hai scritto? Non ho ben capito cosa hai fatto. Io avevo solo scritto

    codice HTML:
    scrollesterno.getViewport().setViewPosition(new Point(0, 0))
    ma non funzionava, cosa sarebbe quest'altro pezzo?
    codice HTML:
    SwingUtilities.invokeLater (new Runnable () {
            public void run ()
    Per quanto riguarda il tutorial, domani mattina me lo leggo, grazie anche per quello!
    Sei stato gentilissimo e disponibilissimo

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