Erro ao inserir dados JDBC?

Fiz um método inserir e coloquei dentro do ActionListener do botão adicionar, mas quando clico no botão ta dando esses erros.


Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at BancoConectar.AplicacaiBanco$1.actionPerformed(AplicacaiBanco.java:128)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1766)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Quando coloque ele fora do ActionListener ele insere os dados no banco tudo certo.
Como resolvo isso, quero colocar os metodos inserir, deletar, buscar todos sendo chamados por botões, se fizer direto no ActionListener vai ficar uma zona, deu pra entender!!

Aguardo Resposta !!!
FALOU!!
istener

Voce guardou os valores para o sql fora da classe e quando voce utiliza uma classe interna para tratar o evento ele da erro no sql , acredito que seja isto .

Preciso ver o codigo completo !

public class AplicacaoBanco extends JFrame {

JLabel l1	= new JLabel(" Código");
JLabel l2	= new JLabel(" Nome");
JLabel l3	= new JLabel(" Telefone");

JTextField Tcod     	= new JTextField (20);
JTextField Tnome    	= new JTextField (10);
JTextField Ttelefone   	= new JTextField (20);

JComboBox combo ;

JButton bMostrar		= new JButton("Mostrar");
JButton bAdiciona		= new JButton("Adiciona");
JButton bApaga		= new JButton("Apaga");
JButton bSair	    	= new JButton("Sair");


JTextArea saida         = new JTextArea(20,20);
JScrollPane      scroll = new JScrollPane(saida);

final Conectar conexao = new Conectar();

[color=red]BancoDAO   p    = new BancoDAO();[/color]	Statement st 			= null;
Connection Conn 		= conexao.ConectCasa();
ResultSet rs 			= null;
.
            .
            .

//No botão adicionar.

bAdiciona.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
Banco c = new Banco();
c.codigo = Integer.parseInt(Tcod.getText());
c.nome = Tnome.getText();
c.telefone = Ttelefone.getText();
[color=darkred]p.Inserir(); //E da classe BancoDAO instanciada logo acima em vermelho.Da erro aqui!!, quando chamo esse método fora do ActionListener da certo!![/color]

Que horas vc passa os dados para o método inserir?