Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313

    [Java ]rimuovere oggetto

    salve.Volevo poter rimuovere un oggetto da un pannello al verificarsi di un evento.
    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    come faccio a trovare l'indice di un componente?

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Scusa se non sono stato preciso

    Ce ne sono due di remove.
    Uno non vuole l'indice, ma l'oggetto.
    Si suppone che tu sappia quale oggetto vuoi rimuovere.
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    Ho provato da inserire il metodo ma non funziona ma perchè?
    codice:
    public class WindowQueryXPath extends JPanel{
      
       
        
        
       public WindowQueryXPath(Controller controller){
          
         
         
       }
       
       
    
        public void setCombo(WindowComboBox combo,ArrayList array){
            Collections.sort(array);
            combo.setCombo(array);
        }
        
        public String getCombo(WindowComboBox combo){
            return combo.getComboDynamic();
        }
        
        public WindowComboBox addWindow(Controller contr) {        
            WindowComboBox combo = new WindowComboBox(contr);
            this.add(combo);
            return combo;
            
        }
       
        
        public void removeObject(WindowComboBox combo){
            this.remove(combo);
        }
           
      
    
    
    }

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dopo un'operazione di aggiornamento dell'interfaccia grafica (sia essa un'aggiunta, rimozione, modifica di un qualsiasi componente) è necessario richiamare il metodo validate() del suo contenitore, in modo che venga effettuato il refresh dell'interfaccia grafica.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    ho provato ad inserire il metodo validate() ma lo stesso non funziona,qualè il problema?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Prova a forzare anche un repaint() subito dopo il validate().


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    Purtroppo ancora niente non vuole funzionare,come devo fare?

  10. #10
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Prova a fare un po' di sano e assurdo debugging...

    Controlla se l'oggetto è presente nel panel prima di rimuoverlo e stampa il risultato con System.out.println()

    Controlla se l'oggetto è presente nel panel dopo averlo rimosso e, come sopra, dacci dentro di println()

    Di solito se anche manca il validate o quello che è, la finestra viene ridisegnata correttamente se la ridimensioni col mouse mentre l'applicazione è in esecuzione.
    Fai anche questo test e dicci il risultato.

    Poi, una considerazione. se effettui una rimozione, ci deve essere un evento scatenante (una pressione su un bottone ad esempio). Sarebbe forse meglio usare un ActionListener per effettuare la rimozione dell'oggetto dal pannello, sia per logica, sia perchè l'ActionListener (se non ricordo male) si arrangia a ridisegnare l'interfaccia.

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

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.