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.
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] :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)
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);
[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!