Olá galera da GUJ, tudo bem ?
Eu queria saber de algum código que teria a possibilidade de apagar automaticamente os textfields digitados anteriormente. Muito obrigado pela atenção, valeu galera !
Como seria esse automático? vc fala apagar após um clique de algum botão?
Isso, exemplo: Um formulário pra preencher nome,idade,cidade que mora. Dai o usuário quando pressionar sei lá, um ok por exemplo ai o formulário apague os dados colocados.
Ah sim, vc já sabe criar o evento do botão? Se sim então é só fazer isso:
jTextField.setText("");
dessa forma o campo fica limpo, sem nada
Muito obrigado !!!
De nada
Invoque o método limparCampos, passando o component que é container dos campos desejados. Se quiser todos os campos de um JFrame por exemplo, basta invocar limparCampos( seuJFrame ).
private void limparCampos( Component component ) {
if ( component instanceof JTextField ) {
((JTextField) component).setText( "" );
} else if ( component instanceof Container ) {
for ( Component c : ((Container) component).getComponents() ) {
limparCampos( c );
}
}
}
Exemplo completo:
import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
/**
*
* @author David
*/
public class MinhaJanela extends JFrame {
private JPanel painelCima;
private JPanel painelBaixo;
private JTextField txtField01;
private JTextField txtField02;
private JTextField txtField03;
private JTextField txtField04;
private JButton btnLimparLocal;
private JButton btnLimparTudo;
public MinhaJanela() {
setTitle( "Exemplo..." );
setSize( 400, 400 );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setLayout( new FlowLayout() );
painelCima = new JPanel();
painelCima.setBorder( new TitledBorder( "campos dentro de um painel..." ));
painelBaixo = new JPanel();
txtField01 = new JTextField( "aaa", 10 );
txtField02 = new JTextField( "bbb", 10 );
txtField03 = new JTextField( "ccc", 10 );
txtField04 = new JTextField( "ddd", 10 );
btnLimparLocal = new JButton( "limpar aqui dentro" );
btnLimparTudo = new JButton( "limpar tudo" );
painelCima.add( txtField01 );
painelCima.add( txtField02 );
painelCima.add( btnLimparLocal );
painelBaixo.add( txtField03 );
painelBaixo.add( txtField04 );
painelBaixo.add( btnLimparTudo );
add( painelCima );
add( painelBaixo );
btnLimparLocal.addActionListener( new ActionListener() {
@Override
public void actionPerformed( ActionEvent e ) {
limparCampos( painelCima );
}
});
btnLimparTudo.addActionListener( new ActionListener() {
@Override
public void actionPerformed( ActionEvent e ) {
limparTudo();
}
});
}
private void limparTudo() {
limparCampos( this );
}
private void limparCampos( Component component ) {
if ( component instanceof JTextField ) {
((JTextField) component).setText( "" );
} else if ( component instanceof Container ) {
for ( Component c : ((Container) component).getComponents() ) {
limparCampos( c );
}
}
}
public static void main( String[] args ) {
new MinhaJanela().setVisible( true );
}
}