Olá pessoal, estou fazendo um componentes que nele tem um metodo que limpa os textbox que tambem são componentes que eu fiz, daria para fazer do jeito que sempre encontra na net:
Component[] components = container.getComponents();
for (Component c : components) {
System.out.println(c);
System.out.println();
}
mas eu tenho que especificar o container, queria de um jeito onde eu não precisa-se especificar, ele apenas pega tudo que tá na tela, mesmo que tenha algum componente em algum JPanel ou algo assim.
valeu pessoal
Transforme seu método num método recursivo:
public void limparTextBoxes(Container container) {
for (Component c : container.getComponents()) {
if (c instanceof JTextBox) {
((JTextBox)c).setText("");
} else if (c instanceof Container)
limparTextBoxes((Container)c);
}
}
}
Aí é só passar o painel principal do seu JFrame ou JDialog para o método.
[quote=ViniGodoy]Transforme seu método num método recursivo:
public void limparTextBoxes(Container container) {
for (Component c : container.getComponents()) {
if (c instanceof JTextBox) {
((JTextBox)c).setText("");
} else if (c instanceof Container)
limparTextBoxes((Container)c);
}
}
}
Aí é só passar o painel principal do seu JFrame ou JDialog para o método.[/quote]
Olá ViniGodoy, obrigado pela resposta, mas é um seguinte, desse jeito funciona se todos minhas JTextBox estiverem no container que eu passei como parametro, caso tenha varios lugares que contem as caixas de textos (varios JPanel em varias abas) ele não funciona, ai eu vou ter que passar todos os conteiners, gostaria de saber se não tem um jeito de pegar tudo que está no JFrame/JDIalog, mesmo que tenha varias abas
[quote=ViniGodoy]Transforme seu método num método recursivo:
public void limparTextBoxes(Container container) {
for (Component c : container.getComponents()) {
if (c instanceof JTextBox) {
((JTextBox)c).setText("");
} else if (c instanceof Container)
limparTextBoxes((Container)c);
}
}
}
Aí é só passar o painel principal do seu JFrame ou JDialog para o método.[/quote]
não tinha prestado atenção no ELSE
valeu ViniGodoy
abraços