Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    E' corretto chiudere una finestra con SetVisible?

    Ciao,

    una programma, la sua gui.. all interno una tabella...

    clicco un bottone a seconda dell azione che voglio fare:

    aggiungere riga, modificare riga, cambiare un dato nella riga.

    per ogni azione apro una finestra, la finestra è una classe diversa dal programma ma nello stesso package.

    la finestra compie l'azione, e poi la chiudo con un setvisible(false)...

    ma mi chiedo.. è corretto fare così? c'è un modo migliore..

    anche nell ipotesi che:

    ad ogni azione.. DEVE corrispondere un refresh automatico dei dati sulla tabella..



    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: E' corretto chiudere una finestra con SetVisible?

    Originariamente inviato da cagnaluia
    la finestra compie l'azione, e poi la chiudo con un setvisible(false)...

    ma mi chiedo.. è corretto fare così? c'è un modo migliore..
    Sì, così è corretto. Ci sono 2 modi per chiudere una finestra: il setVisible(false) e il dispose(). Entrambe nascondono la finestra ma con una differenza. dispose() libera anche tutte le risorse (es. quelle native del S.O.) usate dalla finestra.

    Originariamente inviato da cagnaluia
    ad ogni azione.. DEVE corrispondere un refresh automatico dei dati sulla tabella..
    Questo comunque devi farlo tu. Se con la tua tabella (JTable) usi un "tuo" table model, allora ad esempio puoi mettere nel tuo table model dei metodi es. aggiungiRiga(), modificaRiga() a cui passi i dati. Il table model aggiornerà la sua struttura interna (che dipende da come l'hai implementata) e poi farà un fireXXX() per notificare le "view" (JTable) di aggiornarsi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: E' corretto chiudere una finestra con SetVisible?

    Originariamente inviato da andbin
    Sì, così è corretto. Ci sono 2 modi per chiudere una finestra: il setVisible(false) e il dispose(). Entrambe nascondono la finestra ma con una differenza. dispose() libera anche tutte le risorse (es. quelle native del S.O.) usate dalla finestra.
    perfetto... allora proverò a sistemare un dispose(); che pare più pulito.

    Questo comunque devi farlo tu. Se con la tua tabella (JTable) usi un "tuo" table model, allora ad esempio puoi mettere nel tuo table model dei metodi es. aggiungiRiga(), modificaRiga() a cui passi i dati. Il table model aggiornerà la sua struttura interna (che dipende da come l'hai implementata) e poi farà un fireXXX() per notificare le "view" (JTable) di aggiornarsi.
    il fatto è che io... chiamo la finestra sopra alla tabella (al programma) per esempio per l'azione "ordina".
    codice:
           Ordina ordina = new Ordina(String.valueOf(key));
            ordina.setVisible(true);
    e subito segue
    codice:
            MagazzinoTabellaView.riempiTabella();
    per riaggiornare la tabella..

    ma NON lo fa...


    Per poter aggiornare devo implementare su un bottone ad hoc sotto la tabella la chiamata alla funzione
    codice:
            MagazzinoTabellaView.riempiTabella();

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.