Limpando todos os campos (JTextField)

Olá pessoal…
Existe algum comando que limpa de uma só vez todos os campos (JTextField) do frame? Tá por fora ficar setando cada campo p/ limpar.

2 curtidas

opa blza cara?

public void acaobotaolimpa(){
jTextField1.setText("");
jTextFiled2.setText("");
}
eu sempre faço assim cara, depois chamo este metodo para no meu Jbuttom

ops tava esquecendo neste caso viz para dosi JTextFields, mas isto vai depender do teu codigo e claro…

olá maykoninfo…
Esse comando eu já sei…eu quero justamento é sair disso, ficar setando um por um.
valeu

somos dois então!!..

[quote=jmendes]olá maykoninfo…
Esse comando eu já sei…eu quero justamento é sair disso, ficar setando um por um.
valeu[/quote] :smiley: :lol:

Isso é bem fácil, veja o programa que criei para você…

package org.scwcd;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

/**
 * User: grinvon
 * Date: 10/05/2006
 * Time: 02:18:50
 *
 * @author Inocêncio
 */
public class TesteSwing extends JFrame {

    private JTextField text1 = new JTextField("BTN 1");
    private JTextField text2 = new JTextField("BTN 2");
    private JTextField text3 = new JTextField("BTN 3");

    private JButton btnOK = new JButton();

    public TesteSwing() {

        super("Janela Teste");

        btnOK.setAction(acaoBotao());

        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(text1);
        getContentPane().add(text2);
        getContentPane().add(text3);
        getContentPane().add(btnOK);

        setSize(new Dimension(300,300));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }

    public Action acaoBotao() {

        Action acao = new AbstractAction() {

            public void actionPerformed(ActionEvent event) {

                //limpa os campos

                for (int i=0; i < getContentPane().getComponentCount(); i++) {
                    //varre todos os componentes

                    Component c = getContentPane().getComponent(i);

                    if (c instanceof JTextField) {
                        //apaga os valores
                        JTextField field = (JTextField) c;
                        field.setText("");
                        System.out.println("apagando campo " + i);
                    }
                }
            }
        };

        acao.putValue(Action.NAME, "Limpa Campos");

        return acao;
    }



    public static void main(String[] args) {
        new TesteSwing();
    }
}

Basta pensar como OO, e o Swing tem métodos que trabalham para isso, para obtermos as nossas compentens e fazer o que quisermos com elas. Enjoy it 8)

2 curtidas

Obrigado para aqueles q responderam…já resolvi!
flw

[quote=Grinvon]Isso é bem fácil, veja o programa que criei para você…

package org.scwcd;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

/**
 * User: grinvon
 * Date: 10/05/2006
 * Time: 02:18:50
 *
 * @author Inocêncio
 */
public class TesteSwing extends JFrame {

    private JTextField text1 = new JTextField("BTN 1");
    private JTextField text2 = new JTextField("BTN 2");
    private JTextField text3 = new JTextField("BTN 3");

    private JButton btnOK = new JButton();

    public TesteSwing() {

        super("Janela Teste");

        btnOK.setAction(acaoBotao());

        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(text1);
        getContentPane().add(text2);
        getContentPane().add(text3);
        getContentPane().add(btnOK);

        setSize(new Dimension(300,300));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }

    public Action acaoBotao() {

        Action acao = new AbstractAction() {

            public void actionPerformed(ActionEvent event) {

                //limpa os campos

                for (int i=0; i < getContentPane().getComponentCount(); i++) {
                    //varre todos os componentes

                    Component c = getContentPane().getComponent(i);

                    if (c instanceof JTextField) {
                        //apaga os valores
                        JTextField field = (JTextField) c;
                        field.setText("");
                        System.out.println("apagando campo " + i);
                    }
                }
            }
        };

        acao.putValue(Action.NAME, "Limpa Campos");

        return acao;
    }



    public static void main(String[] args) {
        new TesteSwing();
    }
}

Basta pensar como OO, e o Swing tem métodos que trabalham para isso, para obtermos as nossas compentens e fazer o que quisermos com elas. Enjoy it 8) [/quote]

Nossa valeu cara!

Eu tava quase chegando lá, o problema é que eu tava usando jFrame.getComponents(), dai ele só retorna um componente que é um RootPane ou algo assim. Dai não dava mesmo, mas a conversão e a verificação eu tava fazendo certinho.

Tão bom quando você ver que você aprendeu as coisas! OO é demais!

Valeu! Isso vai me poupar um grande trabalho

Grinvon,

Estou utilizando o seu codigo, porem tenho um problemas que nao consigo solucionar!

quando tenho um JPanel, o ‘for’ não lista oque esta dentro dele!
Então coloquei um if (c instanceof JPanel) .

A pergunta é, com faço para apartir desta posição ele listar oque esta dentro do recipiente JPanel ?

Tentei algo como:

if (c instanceof JPanel) {
for (int j = 0; j < jPanel1.countComponents(); j++){
//???
}
}

putz… valew cara… fazia tempo que eu tava tentando fazer alguma coisa que fosse utilizavel por todos os meus forms …
Sempre que eu precisava limpar os dados da tela eu ia limpando 1 por 1… hehehe
eu adaptei um pouco sua classe e joguei ela num pacote de "utilitarios" e sempre chamo quando preciso limpar os campos…

VALEW!
segue minha alteracao:

public void LimpaTela(JInternalFrame Frame) {     
            //limpa os campos     
            for (int i=0; i < Frame.getContentPane().getComponentCount(); i++) {   
                //varre todos os componentes     
                Component c = Frame.getContentPane().getComponent(i);     
                if (c instanceof JTextField) {                           
                    JTextField field = (JTextField) c;   
                    field.setText("");                      
                    }   
                }   
            }    

quando preciso limpar so dou um:

new Utilitarios().LimpaTela(this);
1 curtida

[quote=Grinvon]Isso é bem fácil, veja o programa que criei para você…

package org.scwcd;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

/**
 * User: grinvon
 * Date: 10/05/2006
 * Time: 02:18:50
 *
 * @author Inocêncio
 */
public class TesteSwing extends JFrame {

    private JTextField text1 = new JTextField("BTN 1");
    private JTextField text2 = new JTextField("BTN 2");
    private JTextField text3 = new JTextField("BTN 3");

    private JButton btnOK = new JButton();

    public TesteSwing() {

        super("Janela Teste");

        btnOK.setAction(acaoBotao());

        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(text1);
        getContentPane().add(text2);
        getContentPane().add(text3);
        getContentPane().add(btnOK);

        setSize(new Dimension(300,300));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }

    public Action acaoBotao() {

        Action acao = new AbstractAction() {

            public void actionPerformed(ActionEvent event) {

                //limpa os campos

                for (int i=0; i < getContentPane().getComponentCount(); i++) {
                    //varre todos os componentes

                    Component c = getContentPane().getComponent(i);

                    if (c instanceof JTextField) {
                        //apaga os valores
                        JTextField field = (JTextField) c;
                        field.setText("");
                        System.out.println("apagando campo " + i);
                    }
                }
            }
        };

        acao.putValue(Action.NAME, "Limpa Campos");

        return acao;
    }



    public static void main(String[] args) {
        new TesteSwing();
    }
}

Basta pensar como OO, e o Swing tem métodos que trabalham para isso, para obtermos as nossas compentens e fazer o que quisermos com elas. Enjoy it 8) [/quote]

Cara ajudou muito aqui. Código bem direto e me atendeu perfeitamente. Valeu!

Vou usar um trecho mas faço a citação nos comentários. Abraço!