JformattedField ajuda :///

17 respostas
bLaCkWiZaRd

Estou tendo alguns problemas com um retorno… estou fazendo um programa que valide cpf, soh estou tendo dificuldades em pegar o numero digitado no JFormattedTextField, qual método eu uso??? não consigo fazer o numero ser jogano numa String numCPF… alguem poderia me ajudar???

17 Respostas

_fs

Há um tópico sobre formatação de cpf nessa página mesmo do fórum.

bLaCkWiZaRd

Realmente tem, mas pelo q vi nao mostra como retorno o valor do JFormattedTextField… Tudo esta funcionando, menos o retorno do valor q nao estou conseguindo jogar em uma string…

_fs

Mostra o pedaço do seu código onde isso tá acontecendo :smiley:

bLaCkWiZaRd
public class CPFteste extends JFrame{

public JFormattedTextField CpfField;

private JButton Okbut;

public String numCPF;
public CPFteste(){
  Container container = getContentPane();
  container.setLayout( new FlowLayout() );
  MaskFormatter format = new MaskFormatter("###.###.###-##"); 
  format.setValidCharacters("[telefone removido]");
  JFormattedTextField CpfField = new JFormattedTextField(format); 
  container.add( CpfField );
  Okbut = new JButton("Valida");
  Okbut.addActionListener( 
     new ActionListener() {
	   public void actionPerformed( ActionEvent event )
	   {
          //numCPF = CpfField.getText();
          //testacpf.setNumber(numCPF);
        }
		}
   );
  container.add( Okbut );
  }
public void main ( String args[] )

{

CPFteste janela = new CPFteste();

janela.setSize(200, 100);

janela.setVisible( true );

}

}

esta dando 2 erros um q eu tenho q jogar uma exceção e onde ta comentado eh onde preciso receber o valor do JFormattedTextField

Obrigado pela ajuda =P

_fs

É esse?

Object - getValue() 
          Returns the last valid value.

dica: quando for postar código aqui no fórum, coloque ele entre tags [.code][./code] (sem os pontinhos). Sendo assim ele fica formatado com sua indentação :smiley:

bLaCkWiZaRd

valews… tipo arrumei qse tudo, agora num sei se ta com pau o compilador da facul, mas ta dando o seguinte erro

Exception in thread "main" java.lang.NoSuchMethodError: main

vc sabe oq pode ser???
[/code]

_fs

Seu programa é um applet ou application? Isso é erro de compilação ou de runtime?

bLaCkWiZaRd

eh um application, e ta dando erro no runtime… a compilação agora esta normal =]

_fs

Ele nem roda a aplicação?

Você tem o método
public static void main?

r_linux

Quantos arquivos vc está usando ???
Vc está no Windows ou Linux ???
Teste…
java -classpath . SeuPrograma
:?

bLaCkWiZaRd

Bom galera…ta no fim…consegui fazer tudo, só preciso agora filtrar oq eh recebido do JFormattedTextField…
um exemplo

eu coloquei a mascara ###.###.###-##

suponhamos q eu digite

[CPF removido]

eu queri que aparecesse apenas

[telefone removido]

eu precisaria q a string recebesse apenas os numero, eliminando os pontos e o traço, como eu faria isso?? tem alguma função ja implementada???

bLaCkWiZaRd

Bom gente descobri como filtrar a saida e sair apenas os numeros, mas esta dando um erro ainda, eu estou usando o seguinte codigo…

...
	  MaskFormatter formato = null;
	  try{
	  formato = new MaskFormatter("###.###.###-##"); 
	  }
	  catch(ParseException parse){
	  parse.printStackTrace();
	  }
	  formato.setValueContainsLiteralCharacters(false);
...

e depois para receber o valor

...
numCPF = formato.valueToString( CpfField.getText() );
...

não sei se é a melhor solução, aceito idéias…
mas voltando ao erro o compilador acusa q a variavel formato tem q ser final, mas nao posso declarala final senao acusa outro erro, alguma ideia??

obrigado pela ajuda a todos

danieldestro

Tem como eu “setar” um MaskFormatter para o JFormattedTextField depois que ele foi criado?

ex:

JFormattedTextField j1 = new JFormattedTextField();
j1.setFormatter( new MaskFormatter("###.##") );

Tem como?

Daniel_Takabayashi

sobre o erro que esta dando no computador da sua faculdade

Exception in thread "main" java.lang.NoSuchMethodError: main

é a versão do JVM que é antiga…

falow…

cv1

Viajou, Daniel :lol: - o problema eh a falta do metodo main(String[]) na classe.

Daniel_Takabayashi

sério… :shock: ?

realmente o main dele esta com a assinatura errada…ta faltando o static, porém quando vc tenta interpretar o aplicativo feito em swing(por exemplo) em uma versão mais antiga do JVM ele também reclama algo do tipo… :wink:

cv1

Sim, a excecao é a mesma, mas a causa é bem diferente :wink:

Criado 21 de novembro de 2003
Ultima resposta 7 de abr. de 2004
Respostas 17
Participantes 6