salve.Volevo poter rimuovere un oggetto da un pannello al verificarsi di un evento.
Come posso fare?
salve.Volevo poter rimuovere un oggetto da un pannello al verificarsi di un evento.
Come posso fare?
"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
come faccio a trovare l'indice di un componente?
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
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); } }
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
ho provato ad inserire il metodo validate() ma lo stesso non funziona,qualè il problema?
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
Purtroppo ancora niente non vuole funzionare,come devo fare?
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