PDA

View Full Version : [JAVA] ottenere tutti gli oggetti campo di un pannello


xplorer87
09-07-2006, 01:56
ciao ragazzi, ho il seguente problema: ho dei pannelli con diversi oggetti campo JTextField / JPasswordField. vorrei implementare un bottone "reset", che resetta tutti quanti i campi alla stringa nulla. ho creato una classe ResetTesto che implementa ActionListener, ma risulta scomodo definire nella classe tanti campi private quanti sono gli oggetti campo del pannello, per poi applicargli nell'actionPerformed setText("") a tutti. soprattutto perche', essendo gli oggetti campo diversi, dovrei riscrivere la classe ResetTesto per ogni pannello in cui voglio usare il bottone reset.
quindi mi chiedevo, esiste un modo per ottenere, dato un pannello, tutti quanti i campi del tipo JTextField / JPasswordField. rovistando nella documentazione ho trovato un metodo per JPanel che si chiama getComponents(), ma non credo faccia esattamente quello che mi serve... idee? ^^

ciao e grazie a tutti :)

^TiGeRShArK^
09-07-2006, 02:31
scusa..
e non puoi iterare sull'array di Component restituito e se il Component č instanceof TextComponent fai component.SetText="";
dovrebbe venire + o - cosė (Scrivendo al volo)

Component[] components = panel.getComponents();
for(int i = 0; i < conponents.length(); i++){
if(component[i] instanceof TextComponent){
((TextComponent)component[i]).setText("");
}
}

ad okkio mi pare che dovrebbe andare.... :p

xplorer87
09-07-2006, 11:14
grazie mille, mi era venuto in mente solo stamattina di fare un casting con instanceof... grazie ancora ^^