Tratamento de excecoes com JTextField

Pessoal,

como tratar excecoes de JTextField para capturar somente numeros, sem valores null ou caracteres?

[code]
import javax.swing.;
import java.applet.
;
import java.awt.;
import java.awt.event.
;
import java.text.;
import java.net.
;
import javax.net.*;

public class DeltaWeb extends JApplet {

public JTextField texto1,texto2,texto3,texto4;
double a,b,c,resultado_final;

public void init() {   

JLabel nome1 = new JLabel("Digite o valor a: ");
JLabel nome2 = new JLabel("Digite o valor b: ");
JLabel nome3 = new JLabel("Digite o valor c: ");
JLabel nome4 = new JLabel("Resultado: ");
     texto1 = new JTextField(10);
    JLabel imagem = new JLabel(new ImageIcon("bsd2.jpg"));
Container container = getContentPane();
JButton botao1 = new JButton("OK");
JButton botao2 = new JButton("Limpar");
JPanel painel = new JPanel();
texto2 = new JTextField(10);
texto3 = new JTextField(10);
texto4 = new JTextField(10);
painel.add(nome1);
painel.add(texto1);
painel.add(nome2);
painel.add(texto2);
painel.add(nome3);
painel.add(texto3);
painel.add(botao1);
painel.add(botao2);
painel.add(nome4);
painel.add(texto4);
    painel.add(imagem);
container.add(painel,BorderLayout.CENTER);	       

botao1.addActionListener(new ActionListener(){

  public void actionPerformed(ActionEvent event) 
 {
   a=Double.parseDouble(texto1.getText());
   b=Double.parseDouble(texto2.getText());
   c=Double.parseDouble(texto3.getText());
   resultado_final = b*b - 4*a*c;
   texto4.setText(String.valueOf(resultado_final));
    
 }

});

botao2.addActionListener( new ActionListener() {
   
   
   public void actionPerformed(ActionEvent event) 
 {
    texto1.setText("");
    texto2.setText("");
    texto3.setText("");
    texto4.setText("");
    
    
 }
   
			 
});
	
		      
 }


 public static void main(String args[] ) 
 {   
     DeltaWeb delta = new DeltaWeb();

 }

}

grato,

Marcelo Araujo[/code]

acho q eu tenho alguma coisa nesse sentido numa apostila em casa…
Se ateh amanhã ninguem responder, eu te mando amanha ! 8)

:arrow: Acho que tem varios modos de se fazer isso… um jeito seria usar a interface Document. ae voce implementaria como voce quissese seu JTextField… tem um tutorial aqui na guj msm mostrando como fazer isso para limitar o numero de caracteres de um JTextField(Controlando um JTextField ). Voce pode adaptar ele para escutar eventos do teclado e tratar…

:arrow: ou se nao… um jeito mais facil seria mudar seus JTextField por JFormattedTextField e usar uma Mascara.

pequeno exemplo:

[code]

MaskFormatter format = null;

	try {
		 format = new MaskFormatter( "######" );
	}catch( ParseException pex ){
		pex.printStackTrace();
	}

JFormattedTextField field = new JFormattedTextField ( format );[/code]

:arrow: # significa que aceita apenas numero.

Acho que no docs tem tudo explicador melhor… da uma olhada em
:arrow: javax.swing.text.MaskFormatter
:arrow: javax.swing.JFormattedTextField

no docs http://java.sun.com/j2se/1.4.2/docs/api/index.html