Comment faire pour imprimer un objet JTable dans l'application Java

Question Maintenant, une fois que les données sont extraites de la base de données et affichées dans la JTable objet "table" intégré dans le composant scrollPane, comment pouvons-nous créer un travail d'impression qui permet d'imprimer le tableau affiché en tant que tel dans le papier de format A3 ?

Mon code pour récupérer les données depuis la base de données est indiqué ci-dessous:

try 
{
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost/newb","root","pass");
    Statement stat=con.createStatement();   
    ResultSet res=stat.executeQuery("select * from table where name = '"+name+"'");
    ResultSetMetaData rsmd = res.getMetaData();
    int colcount = rsmd.getColumnCount();
    Vector columns = new Vector(colcount);
        for(int i=3; i<=colcount; i++)
    {
        columns.add(rsmd.getColumnName(i));
    }
    Vector data = new Vector();
    Vector row;

    //Store row data
    while(res.next())
    {
        row = new Vector(colcount);
        for(int i=3; i<=colcount; i++)
        {
            row.add(res.getString(i));
        }
        data.add(row);
    }
    table = new JTable(data, columns);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    scrollPane.setViewportView(table);
}
catch(Exception ex)
{       
    System.out.println(ex);
}

Je suis en utilisant la classe vector pour extraire les données de la table. Comment imprimer les données affichées dans le tableau affiché à un papier?