Limpar campos no jTextField
Pessoal, alguém sabe como fazer para limpar conteúdo de um campo JTextField?
O que acontece é o seguinte, tenho dois campos um para senha e um para o login do usuário, e tem um botão que é para limpar os campos.
Alguém sabe de algum método para fazer essa limpeza? :o
Ilidio Abreu
Curtidas 0
Respostas
Carlos Heuberger
09/04/2009
Oi,
[]]]
jTextField.setText(null);
GOSTEI 0
Wolliton Silva
09/04/2009
Ow... a pergunta ja foi respondida mais eu acho que vc não precisava entrar postar esse pergunta no Java Avançado, acho que o Java Basico daria conta muito bem.
----
Wolliton
GOSTEI 0
Wolliton Silva
09/04/2009
Mensagem movida de "Java Avançado" para "GUI - (Applets, Swing, SWT, etc)".
[quote="wolliton"]Ow... a pergunta ja foi respondida mais eu acho que vc não precisava entrar postar esse pergunta no Java Avançado, acho que o Java Basico daria conta muito bem.
----
Wolliton
GOSTEI 0
Eli Lopes
09/04/2009
No caso de precisar limpar várias caixas de textos, é só usar um método utilitário de limpeza geral:
Os objetos são adicionados em uma coleção (vetor), em seguida são analisados e limpos de acordo com a instância.
A ordem dos IFs não pode ser mudada, ja que JFormattedTextField também é uma instância do JTextField, com a mudança a limpeza seria errada apagando além do conteúdo a mascara do JFormattedTextField.
Um exemplo de Form com uso do método de limpeza com 10 JTextField e 1 JFormattedTextField:
ajude por -> dudaskank
import java.awt.Component;
import java.awt.Container;
import javax.swing.JFormattedTextField;
import javax.swing.JTextField;
public class Utils {
public static void limparCampos(Container container) {
Component components[] = container.getComponents();
for (Component component : components) {
if (component instanceof JFormattedTextField) {
JFormattedTextField field = (JFormattedTextField) component;
field.setValue(null);
} else if (component instanceof JTextField) {
JTextField field = (JTextField) component;
field.setText("");
} else if (component instanceof JTextArea) {
JTextArea area = (JTextArea) component;
area.setText("");
}
else if (component instanceof Container) {
limparCamposNoContainer((Container) component);
}
}
}
}
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TesteUtils extends JFrame {
private static long serialVersionUID = 1L;
public class ResetAction extends AbstractAction {
public ResetAction() {
putValue(Action.NAME, "Reset");
putValue(Action.SHORT_DESCRIPTION, "Limpa os campos do form");
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source instanceof JComponent) {
JComponent component = (JComponent) source;
Container form = component.getTopLevelAncestor();
Utils.limparCampos(form);
}
}
}
public TesteUtils() {
super(TesteUtils.class.toString());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(12, 1));
for (int i = 0; i < 10; i++) {
panel.add(new JTextField());
}
JFormattedTextField field = new JFormattedTextField(
new SimpleDateFormat("dd/mm/yyyy"));
field.setValue(new Date());
panel.add(field);
JButton button = new JButton(new TesteUtils.ResetAction());
panel.add(button);
add(panel);
pack();
}
public static void main(String[] args) {
new TesteUtils().setVisible(true);
}
}
GOSTEI 0