Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Lory1990 Visualizza il messaggio
    ho scoperto che il modo più "semplice" per salvare un JTree in una classe è salvarlo appunto come JTree.
    Hai usato la "serializzazione"? Beh, sì, JTree tecnicamente è serializzabile e si può fare ammesso che gli oggetti nei node siano anch'essi serializzabili.
    La questione semmai è che non sarebbe proprio una buona cosa, anche perché serializzando un intero componente grafico viene serializzata una "marea" di roba.

    Quote Originariamente inviata da Lory1990 Visualizza il messaggio
    Il problema è che una volta salvato e ricaricato non viene visualizzato dalla GUI.
    Normalmente si crea la GUI istanziando i vari componenti es. new JTree() e aggiungendoli ciascuno dentro un contenitore. Il punto è che se avevi serializzato un JTree, quando ricrei la GUI non devi più fare ovviamente new JTree() ma prendere quello deserializzato.
    Il problema è che un conto è farlo mentre crei la GUI ... un altro conto è farlo dopo, a seguito di un qualche evento. Bisogna anche considerare questioni di posizionamento/dimensionamento, layout manager se c'é e in tal caso come rivalidarlo dopo che intendi aggiungere il JTree.

    Al limite, se proprio vuoi continuare con la serializzazione, al massimo serializza il TreeModel ... non il JTree (in qualunque momento, anche a seguito di un evento puoi fare tuoJtree.setModel(treeModelDeserializzato) senza alcun problema).

    P.S. dimentica updateUI(), questo serve per cose interne al framework legate ai Look&Feel. Generalmente non è da usare esplicitamente.
    Ultima modifica di andbin; 21-04-2014 a 11:56
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

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.