Pessoal, tenho a seguinte função para limpar os campos de texto do meu Frame:
protected void limpaCampos(Container container){
for(Component component : container.getComponents()) {
if((component instanceof JTextField) || (component instanceof JFormattedTextField)) {
((JTextComponent)component).setText("");
}
}
}
Só que tenho uma JTextArea em um JScrollPane, e não consegui colocar uma condição nessa função para limpar a JTextArea tb…
Coloquei as seguintes condições, mas não funcionou:
if(component instanceof JTextArea) {
((JTextArea)component).setText("");
}
if(component instanceof JScrollPane) {
((JTextArea)((JScrollPane)component).getComponent(0)).setText("");
}
Alguém pode me ajudar???
E jogo meu método fora???
Tem que ter uma solução pra isso, não é possível…
Olá!
Estava fazendo uma classe que cuidaria dessa limpeza do formulário e aqui deu certo fazendo assim:
//pegando o seu exemplo
protected static void limpaCampos(Container container){
for(Component component : container.getComponents()) {
if((component instanceof JTextField) || (component instanceof JFormattedTextField)) {
((JTextComponent)component).setText("");
} else if (component instanceof JScrollPane) {
((JTextArea) ((JScrollPane) component).getViewport().getComponent(0)).setText("");
}
}
}
Acima foi apenas um exemplo usando o que já tenha feito, mas tome cuidado com o cast do JTextArea se tiver algum component dentro do JScrollPane que não seja TextArea vai dar um CastException…
Até
Opa, valeu ai pela ajuda…t+