Per il punto 3 c'è un po' di materiale in rete. Ad esempio vedi qui:
http://forum.java.sun.com/thread.jsp...sageID=9575685
Per il punto 2, io avevo un problema simile: evidenziare alcune righe che rispondessero a requisiti particolare. Ho risolto estendendo la classe JTable e facendo l'overriding del metodo prepareComponent. Non so se è necessario estendere la classe JTable, ma a me serviva comunque per gestirne la stampa quindi mi andava bene. Comunque se a te serve solo evidenziare le righe pari dovrebbe andare bene questo:
codice:
public Component prepareRenderer(TableCellRenderer cr, int row, int col)
{
      Component c = super.prepareRenderer(cr, row, col);
      if (row%2 == 0)
      {
         c.setBackground(new Color(x,y,z));
      }
      else if (isRowSelected(row)) {
         c.setBackground(getSelectionBackground());
      }
      else c.setBackground(getBackground());
         return c;
}