Inserir, excluir, alterar e gravar alterações

Olá!!!
Estou com serios problemas na criação de uma tela pra cadastro. Será que podem me ajudar???
Vou passar o codigo pra voces, pois não consigo excluir, alterar e nem gravar alterações. Somente incluir. Eu sei que vcs vão me chamar de burro mais eu não ligo não. Eu não estou conseguindo nem arrumar os campos na tela. Espero que possam me ajudar.

Lá vai o codigo:

import java.io.;
import java.awt.
;
import java.awt.event.;
import javax.swing.
;
import java.sql.*;
import javax.swing.JTable;
import javax.swing.table.TableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;

public class CadCli extends JFrame
{
private JLabel LNome;
private JTextField tNome;
private JLabel LFantasia;
private JTextField tFantasia;
private JLabel LCpf;
private JTextField tCpf;
private JLabel LIe;
private JTextField tIe;
private JLabel LEndereco;
private JTextField tEndereco;
private JLabel LBairro;
private JTextField tBairro;
private JLabel LCidade;
private JTextField tCidade;
private JLabel LEstado;
private JComboBox tEstado;
private JLabel LCep;
private JTextField tCep;
private JLabel LTelefone;
private JTextField tTelefone;
private JLabel LEmail;
private JTextField tEmail;
private JButton bexcluir;
private JButton balterar;
private JButton bgravar;
private JButton bincluir;
private JScrollPane js;
private Connection conex; //declara o objeto conex
private DefaultTableModel aModel;
private JTable aTable;
private JList lista;
private String itens[];

public CadCli()
{
	super("Cadastro de Cliente");
	Container ct = getContentPane();
	ct.setLayout(new GridLayout(9,10));

	// Tenta Carregar o drive do MySql
	try
	{
		Class.forName("com.mysql.jdbc.Driver");
	}
	catch (ClassNotFoundException e)
	{
		System.out.println (" Driver não encontrado verifique o classpath");
	}
	// Tenta estabelecer a conexão com o database

	try
	{
		String ServerHost = "localhost";
		String dbmysql = "dbpedido";
		String Username = "root";
		String Password = "gabriel";
		conex = DriverManager.getConnection ("jdbc:mysql://"+ServerHost+"/"+dbmysql,Username,Password);
	}
	catch (Exception sqlEx)
	{
		System.out.println ("Conexão Falhou, verifique os parametros");
	}

	lista = new JList(montalista());
	lista.setVisibleRowCount(8);
	Font f1 = new Font ("Courier", Font.PLAIN,14);
	lista.setFont(f1);
	js = new JScrollPane(lista);
	ct.add(js);

	LNome = new JLabel ("Nome/Razão Social:");
	ct.add (LNome);
	tNome = new JTextField();
	ct.add (tNome);

	LFantasia = new JLabel ("Nome Fantasia:");
	ct.add (LFantasia);
	tFantasia = new JTextField();
	ct.add (tFantasia);

	LCpf = new JLabel ("CPF/CNPJ:");
	ct.add (LCpf);
	tCpf = new JTextField();
	ct.add (tCpf);

	LIe = new JLabel ("RG/IE:");
	ct.add (LIe);
	tIe = new JTextField();
	ct.add (tIe);

	LEndereco = new JLabel ("Endereço:");
	ct.add (LEndereco);
	tEndereco = new JTextField();
	ct.add (tEndereco);

	LBairro = new JLabel ("Bairro:");
	ct.add (LBairro);
	tBairro = new JTextField();
	ct.add (tBairro);

	LCidade = new JLabel ("Cidade:");
	ct.add (LCidade);
	tCidade = new JTextField();
	ct.add (tCidade);

	LEstado = new JLabel ("Estado:");
	ct.add (LEstado);
	String conteudo[] = {"--Selecione--","RS","SC","PR","SP","RJ","ES","MG","MS","MT","PE","GO","TO","BH","PI","CE","PB","MA","AM","MP","AL","RN","SE","PA","AC","RR","RO",};
	tEstado = new JComboBox(conteudo);
	ct.add (tEstado);

	LCep = new JLabel ("CEP:");
	ct.add (LCep);
	tCep = new JTextField();
	ct.add (tCep);

	LTelefone = new JLabel ("Telefone:");
	ct.add (LTelefone);
	tTelefone = new JTextField();
	ct.add (tTelefone);

	LEmail = new JLabel ("E-mail:");
	ct.add (LEmail);
	tEmail = new JTextField();
	ct.add (tEmail);

	
	
    EventoB eb = new EventoB ();

	bincluir = new JButton ("Incluir");
	bincluir.addActionListener (eb);
	ct.add (bincluir);

	bexcluir = new JButton ("Excluir");
	bexcluir.addActionListener (eb);
	ct.add (bexcluir);

	balterar = new JButton ("Alterar");
	balterar.addActionListener (eb);
	ct.add (balterar);

	bgravar = new JButton ("Gravar Alterações");
	bgravar.addActionListener (eb);
	ct.add (bgravar);

	setSize (545,315);
	setVisible (true);

}

// Eventos dos Botões Incluir e Excluir

private class EventoB implements ActionListener
{
	public void actionPerformed (ActionEvent event)
	{
		if (event.getSource()==bincluir)
		{
			try
			{
				String sql = "insert into cliente (nome, nome_fantasia,endereco,cpf_cnpj,rg_ie,bairro,cidade,estado,cep,email,telefone) values (?,?,?,?,?,?,?,?,?,?,?)" ;
				PreparedStatement vs = conex.prepareStatement(sql);
				vs.setString(1,tNome.getText());
				vs.setString(2,tFantasia.getText());
				vs.setString(3,tEndereco.getText());
				vs.setString(4,tCpf.getText());
				vs.setString(5,tIe.getText());
				vs.setString(6,tBairro.getText());
				vs.setString(7,tCidade.getText());
				vs.setString(8,tEstado.getSelectedItem().toString());
				vs.setString(9,tCep.getText());
				vs.setString(10,tEmail.getText());
				vs.setString(11,tTelefone.getText());
				vs.executeUpdate();
			}
			catch (Exception sqlEx){}
			limpar();
		}
		if (event.getSource()==bexcluir)
		{
			try
			{
				String sid_cliente = lista.getSelectedValue().toString();
				PreparedStatement st = conex.prepareStatement ("delete from cliente where id_cliente = ?");
				st.setString (1,sid_cliente.substring(0,sid_cliente.indexOf("-")));
				st.executeUpdate();
				lista.setListData(montalista());
			}
			catch (Exception sqlEx){}
		}

		// Trata eventos dos botões Alterar e Gravar Alterações
		if (event.getSource()==balterar)
		{
			try
			{
				String sid_cliente = lista.getSelectedValue().toString();
				PreparedStatement st = conex.prepareStatement ("select * from cliente where id_cliente = ?");
				st.setString (1,sid_cliente.substring(0,sid_cliente.indexOf("-")));
				ResultSet rs = st.executeQuery();
				lista.setListData(montalista());
				while (rs.next());
				{

					tNome.setText(rs.getString("Nome/Razão Social"));
					tFantasia.setText(rs.getString("Nome Fantasia"));
					tEndereco.setText(rs.getString("Endereço"));
					tCpf.setText(rs.getString("CPF/CNPJ"));
					tIe.setText(rs.getString("RG/IE"));
					tBairro.setText(rs.getString("Bairro"));
					tCidade.setText(rs.getString("Cidade"));
					tEstado.setSelectedItem(rs.getString("Estado"));
					tCep.setText(rs.getString("CEP"));
					tEmail.setText(rs.getString("Email"));
					tTelefone.setText(rs.getString("Telefone"));
				}
			}
			catch (Exception sqlEx){}
		}
		if (event.getSource()==bgravar)
		{
			try
			{
				PreparedStatement st = conex.prepareStatement ("update cliente set id_cliente=?, nome=?, nome_fantasia=?,endereco=?,cpf_cnpj=?,rg_ie=?,bairro=?,cidade=?,estado=?,cep=?,email=?,telefone=?");
				if (tNome.getText()!=null)
				{
					st.setString(1,tNome.getText());
					st.setString(2,tFantasia.getText());
					st.setString(3,tEndereco.getText());
					st.setString(4,tCpf.getText());
					st.setString(5,tIe.getText());
					st.setString(6,tBairro.getText());
					st.setString(7,tCidade.getText());
					st.setString(8,tEstado.getSelectedItem().toString());
					st.setString(9,tCep.getText());
					st.setString(10,tEmail.getText());
					st.setString(11,tTelefone.getText());
					st.executeUpdate();
					lista.setListData(montalista()); // Reconstroi a lista a partir do banco de dados
					limpar();
				}
			}
			catch (Exception sqlEx){}
		}	}
}
// Monta a lista de registros
protected String [] montalista()
{
	String itens[] = new String [50];
	try
	{
		PreparedStatement st = conex.prepareStatement ("select * from cliente");
		ResultSet rs = st.executeQuery();
		int i = 0;
        while (rs.next());
        {
			String linha = rs.getString ("id_cliente")+"-"
			+rs.getString("nome")+"-"
			+rs.getString("nome_fantasia")+"-"
			+rs.getString("endereco")+"-"
			+rs.getString("cpf_cnpj")+"-"
			+rs.getString("rg_ie")+"-"
			+rs.getString("bairro")+"-"
			+rs.getString("cidade")+"-"
			+rs.getString("estado")+"-"
			+rs.getString("cep")+"-"
			+rs.getString("email")+"-"
			+rs.getString("telefone");
			itens[i] = linha;
			i ++;
        }
	}
	catch (Exception sqlEx){}
	return itens;
}
// procedure para limpar o formulario do cadastro
protected void limpar()
{
	tNome.setText("");
	tFantasia.setText("");
	tEndereco.setText("");
	tCpf.setText("");
	tIe.setText("");
	tBairro.setText("");
	tCidade.setText("");
	tEstado.setSelectedIndex(0);
	tCep.setText("");
	tEmail.setText("");
	tTelefone.setText("");
}

// Metodo Principal
public static void main (String args[])
{
	CadCli f = new CadCli();
	f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}

}

Desde já agradeço a paciencia.

E aí cara, beleza?

Primeiramente ninguém aqui te chamará de burro, ok?
Se possível coloque seu código dentro da tag code, senão fica quase impossível de ler, identação também é importante.

Uma dica, nunca ignore as exceptions, nunca; caso contrário será difícil saber qual o problema.
O primeiro problema que notei foi no método montalista(), ele possui um erro muito difícil de detectar: quando você faz o while( rs.next() ) não coloque ponto e vírgula no final dessa linha, senão ele apresentará uma java.sql.SQLException: After end of result set, revise todos os while’s da aplicação e remova o ponto e vírgula.
Resolvido isso ele fará a listagem correta no JList.

No evento do botão alterar os campos estão com nomes distintos de quando você insere os registros, arrume o nome desses campos senão as colunas não serão localizadas no banco de dados.
No evento do botão gravar falta um argumento, você coloca 12 ‘?’, mas seta apenas 11 valores.O código SQL do update também está errado, dessa forma pode até funciona, mas igualará todos os registros no banco, nesse caso faça o WHERE com id_cliente.

Esses foram os primeiros erros que vi.
Se quiser melhorar a qualidade do seu código dê uma olhada depois no padrão MVC.
Espero ter ajudado.

Abraço.