salut tous le monde

j ai un petit probleme concernat l affichage du resultat d une requet sql dans un jtable;
J'ai réalisé un code mais ca marche pas il m afiche rien qu un probleme au niveau de l (action event e) :o et je comprend pas pourquoi:
[le code]

import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.logging.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class tabl extends JFrame implements ActionListener{

String [] colonnes={"Numéro", "Titre","Auteur","Auteur"};
Object [][]data;
DefaultTableModel tablemodel = new DefaultTableModel(data, colonnes);

JTable table = new JTable(tablemodel);

public tabl() throws SQLException
{
setSize(300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);

JMenuBar jmbar = new JMenuBar();
setJMenuBar(jmbar);

JMenu jmfile = new JMenu("File");
jmbar.add(jmfile);


JMenuItem itemajout = new JMenuItem("Ajout livre");
jmfile.add(itemajout);

itemajout.addActionListener(this);


JMenuItem itemsuprim = new JMenuItem("Suprimer livre");
jmfile.add(itemsuprim);

itemsuprim.addActionListener(this);
try
{ Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost/java";
String user ="root";
String pass="holow";
Connection cnx = (Connection) DriverManager.getConnection(url, user, pass);
Statement tm= (Statement) cnx.createStatement();
ResultSet rs = tm.executeQuery("SELECT id_client,nom,tel,prenom FROM client");

while(rs.next())
{
int num=rs.getInt("id_client" );
String nom=rs.getString("nom" );
int tel=rs.getInt("tel" );
String prenom=rs.getString("prenom" );
}
}

catch (ClassNotFoundException e)
{
System.out.println("erreur : ClassNotFoundException");
}

tablemodel.addRow(new Object[]{" + num + "," +nom+ "," + tel + "," + prenom + "});




add(new JScrollPane(table),BorderLayout.CENTER);
}
// c est au nivaux de cette ligne quille souligne action event e

public void actionPerformed( ActionEvent e)
{
if(e.getActionCommand().equals("Ajout livre"))
{ajout c =new ajout();
c.show();
this.dispose();
}

if(e.getActionCommand().equals("Suprimer livre"))
{
int i=table.getSelectedRow();
tablemodel.removeRow(i);
}
}


public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
new tabl().setVisible(true);
} catch (SQLException ex) {
Logger.getLogger(tabl.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
}
}

ci quelqu un peut me dire c est qu oi ce probleme ou coment le resoudre autrement