Problema com evento e ouvinte

Oii amigos, estou tentando inserir um usuario a partir de uma função sql, ja testei no main e está funcionando,
mas agora fui tentar fazer com que ela funcionasse pelo botão da tela, mas não ta dando certo…
Obrigada!

[code]package swing;

import java.awt.Component;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import model.Usuario;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import sql.AcessoUsuarioDAO;

public class Usuario_tela extends JFrame implements ActionListener {

private JPanel contentPane;
private JTextField textFieldNome_u;
private JTextField textFieldNick_u;
private JTextField textFieldEmail_u;
private JTextField textFieldPass_u;

private JTextField textFieldNome_uA;
private JTextField textFieldNick_uA;
private JTextField textFieldEmail_uA;
private JTextField textFieldPass_uA;


/**
 * Launch the application.
 */
public static void main(String[] args) {
	EventQueue.invokeLater(new Runnable() {
		public void run() {
			try {
				Usuario_tela frame = new Usuario_tela();
				frame.setVisible(true);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	});
}

/**
 * Create the frame.
 */
public Usuario_tela() {
	setTitle("Usuario");
	setDefaultCloseOperation(Usuario_tela.HIDE_ON_CLOSE);
	setBounds(100, 100, 550, 300);
	contentPane = new JPanel();
	contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
	setContentPane(contentPane);
	contentPane.setLayout(null);

	JLabel lblNome_u = new JLabel("Nome:");
	lblNome_u.setBounds(25, 20, 46, 14);
	contentPane.add(lblNome_u);
	
	JLabel lblNick_u = new JLabel("Nick:");
	lblNick_u.setBounds(25, 50, 63, 14);
	contentPane.add(lblNick_u);
	
	JLabel lblEmail_u = new JLabel("Email:");
	lblEmail_u.setBounds(25, 80, 63, 14);
	contentPane.add(lblEmail_u);
	
	JLabel lblPass_u = new JLabel("Password:");
	lblPass_u.setBounds(25, 110, 63, 14);
	contentPane.add(lblPass_u);

	textFieldNome_u = new JTextField();
	textFieldNome_u.setBounds(134, 20, 86, 20);
	contentPane.add(textFieldNome_u);
	textFieldNome_u.setColumns(10);

	textFieldNick_u = new JTextField();
	textFieldNick_u.setBounds(134, 50, 86, 20);
	contentPane.add(textFieldNick_u);
	textFieldNick_u.setColumns(10);

	textFieldEmail_u= new JTextField();
	textFieldEmail_u.setBounds(134, 80, 86, 20);
	contentPane.add(textFieldEmail_u);
	textFieldEmail_u.setColumns(10);
	
	textFieldPass_u = new JTextField();
	textFieldPass_u.setBounds(134, 110, 86, 20);
	contentPane.add(textFieldPass_u);
	textFieldPass_u.setColumns(10);

	JButton btnI = new JButton("Inserir");
	btnI.setForeground(Color.RED);
	btnI.addActionListener(this);
	btnI.setBounds(23, 151, 89, 23);
	contentPane.add(btnI);
	btnI.setName("btnI");
	
	/*alterar*/
	
	JLabel lblNome_uA = new JLabel("Nome:");
	lblNome_uA.setBounds(280, 20, 46, 14);
	contentPane.add(lblNome_uA);
	
	JLabel lblNick_uA = new JLabel("Nick:");
	lblNick_uA.setBounds(280, 50, 63, 14);
	contentPane.add(lblNick_uA);
	
	JLabel lblEmail_uA = new JLabel("Email:");
	lblEmail_uA.setBounds(280, 80, 63, 14);
	contentPane.add(lblEmail_uA);
	
	JLabel lblPass_uA = new JLabel("Nova Password:");
	lblPass_uA.setBounds(280, 110, 100, 14);
	contentPane.add(lblPass_uA);
	
	textFieldNome_uA = new JTextField();
	textFieldNome_uA.setBounds(410, 20, 86, 20);
	contentPane.add(textFieldNome_uA);
	textFieldNome_uA.setColumns(10);

	textFieldNick_uA = new JTextField();
	textFieldNick_uA.setBounds(410, 50, 86, 20);
	contentPane.add(textFieldNick_uA);
	textFieldNick_uA.setColumns(10);

	textFieldEmail_uA= new JTextField();
	textFieldEmail_uA.setBounds(410, 80, 86, 20);
	contentPane.add(textFieldEmail_uA);
	textFieldEmail_uA.setColumns(10);
	
	textFieldPass_uA = new JTextField();
	textFieldPass_uA.setBounds(410, 110, 86, 20);
	contentPane.add(textFieldPass_uA);
	textFieldPass_uA.setColumns(10);
	
	JButton btnA = new JButton("Alterar");
	btnA.setForeground(Color.BLUE);
	btnA.addActionListener(this);
	btnA.setBounds(280, 151, 89, 23);
	contentPane.add(btnA);
	btnA.setName("btnA");
	
	JButton btnISQL = new JButton("Função Inserir SQL");
	btnISQL.setForeground(Color.RED);
	btnISQL.addActionListener(this);
	btnISQL.setBounds(23, 200, 200, 23);
	contentPane.add(btnISQL);
	btnISQL.setName("btnISQL");
	
	JButton btnASQL = new JButton("Função Alterar SQL");
	btnASQL.setForeground(Color.BLUE);
	btnASQL.addActionListener(this);
	btnASQL.setBounds(280, 200, 200, 23);
	contentPane.add(btnASQL);
	btnASQL.setName("btnASQL");
}

public void actionPerformed(ActionEvent e) {
	Component component = (Component)e.getSource();
	if(component.getName().equals("btnI")) {

		
		String nome_u = textFieldNome_u.getText();
		String nick_u = textFieldNick_u.getText();
		String email_u = textFieldEmail_u.getText();
		String pass_u = textFieldPass_u.getText();

		Usuario usuario = new Usuario(nome_u, nick_u, email_u, pass_u);
		AcessoUsuarioDAO dao = new AcessoUsuarioDAO();

		dao.inserir(usuario);

		JOptionPane.showMessageDialog(null,"Inserido com Sucesso!!");
	}
	else {
		if(component.getName().equals("btnISQL")) {
			
			String nome_u = textFieldNome_u.getText();
			String nick_u = textFieldNick_u.getText();
			String email_u = textFieldEmail_u.getText();
			String pass_u = textFieldPass_u.getText();

			Usuario usuario = new Usuario(nome_u, nick_u, email_u, pass_u);
			AcessoUsuarioDAO dao = new AcessoUsuarioDAO();

			dao.inserir_funcao_SQL(usuario);
			
		JOptionPane.showMessageDialog(null,"Teste");
		}
	}
} 

}
[/code]

[code]package sql;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
import model.Usuario;

public class AcessoUsuarioDAO implements UsuarioDAO{

public void inserir(Usuario u) throws AcessoUsuarioException
{
	Connection conexao = null;
	PreparedStatement comando = null;
	try
	{
		conexao = Conexao.getConexao();
		String sql = "INSERT INTO Usuario(nome_u, nick_u,email_u,pass_u) VALUES (?, ?, ?, ?)";  
		comando = conexao.prepareStatement(sql);
	    comando.setString(1, u.getNome_u());
		comando.setString(2, u.getNick_u());
		comando.setString(3, u.getEmail_u());
		comando.setString(4, u.getPass_u());
		comando.executeUpdate();
		System.out.println(sql);

	}
	catch(SQLException e)
	{
		throw new AcessoUsuarioException("erro de inserção de Usuario", e);
	}
	finally
	{
		if(conexao != null)
		{
			try
			{
				conexao.close();
				comando.close();
			}
			catch(SQLException e2)
			{
			}
		}
	}
}

public void inserir_funcao_SQL (Usuario u) throws AcessoUsuarioException 
{
	String nome_u ="teste";
	String nick_u ="teste";
	String email_u="teste@";
	String pass_u="teste";
	int pass_c;
	
	Connection conexao = null;
	CallableStatement cstmt = null;
	try 
	{
		conexao = Conexao.getConexao();
		cstmt = conexao.prepareCall("{?= call inserir_usuario(?,?,?,?)}");                 

//
cstmt.registerOutParameter (1, Types.INTEGER);
cstmt.setString(2,nome_u);
cstmt.setString(3,nick_u);
cstmt.setString(4,email_u);
cstmt.setString(5,pass_u);

        cstmt.executeUpdate();
        
       pass_c = cstmt.getInt(1);            
        
	}
	
	catch(SQLException e)
	{
		e.printStackTrace();
		throw new AcessoUsuarioException("erro de inserção de Usuario", e);
	}
	finally
	{
		if(conexao != null)
		{
			try
			{
				conexao.close();
				cstmt.close(); 
			}
			catch(SQLException e2)
			{
			}
		}
	}
}

}
[/code]

beijokas

Não tá dando certo por que? O ActionPerformed tá sendo chamado? Dá Erro? Excessão?
Mais detalhes.

Oii, acusa esses erros:

org.postgresql.util.PSQLException: ERRO: sintaxe de entrada é inválida para integer: "teste"
Onde: PL/pgSQL function “inserir_usuario” ao converter valor de retorno para tipo de retorno da função
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:330)
at sql.AcessoUsuarioDAO.inserir_funcao_SQL(AcessoUsuarioDAO.java:73)
at swing.Usuario_tela.actionPerformed(Usuario_tela.java:194)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread “AWT-EventQueue-0” sql.AcessoUsuarioException: AcessoUsuarioException: erro de inserção de Usuario
at sql.AcessoUsuarioDAO.inserir_funcao_SQL(AcessoUsuarioDAO.java:82)
at swing.Usuario_tela.actionPerformed(Usuario_tela.java:194)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.postgresql.util.PSQLException: ERRO: sintaxe de entrada é inválida para integer: "teste"
Onde: PL/pgSQL function “inserir_usuario” ao converter valor de retorno para tipo de retorno da função
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:330)
at sql.AcessoUsuarioDAO.inserir_funcao_SQL(AcessoUsuarioDAO.java:73)
… 37 more

Olá, mudei uma coisa na funcão do sql, estava reteronado um integer (password) mas é uma varchar, então refiz a função retornando um varchar, mas não dá ainda … rs rs