[dúvida] Máscara em JTable

Olá a todos,
andei pesquisando aqui no fórum sobre formatação em JTable e cheguei no seguinte código:

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.text.ParseException;
import javax.swing.DefaultCellEditor;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableColumn;
import javax.swing.text.MaskFormatter;

public class TabelaFuncionario extends JFrame{  
  MaskFormatter pis;  
  JFormattedTextField ftf;  
  public TabelaFuncionario(){  
    try{  
      pis = new MaskFormatter("###.#####.##-#");  
      pis.setPlaceholderCharacter('_');  
    }  
    catch(ParseException e){  
      e.printStackTrace();  
    }   
    ftf = new JFormattedTextField(pis); 
    String[] colunas = {"Código", "Nome", "PIS"}; 
    Object[][] conteudo = {  
        {"1", "Funcionário 1", "11111111111"},  
        {"2", "Funcionário 2", "22222222222"}  
    };  
    JTable tabela = new JTable(conteudo, colunas);      
    TableColumn col = tabela.getColumnModel().getColumn(2);
    col.setCellEditor(new DefaultCellEditor(ftf));      
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); 
    Container c = getContentPane();  
    c.setLayout(new FlowLayout());     
    JScrollPane scrollPane = new JScrollPane(tabela);  
    c.add(scrollPane);       
    setSize(400, 300);  
    setVisible(true);  
  }  
}  

Pois bem, a JTable está editavel, e com o preenchimento já feito que é apenas para teste. Daí vem minha dúvida:

Por que não consigo colocar a máscara em uma coluna que NÃO seja editável, e que já na inicialização da JTable, sem ter que entrar na célula no modo de edição para aplicar a máscara?

Quero apenas mostrar os dados. Sem nenhum tipo de edição na JTable.

Desde já agradeço.

Felipe Jacson

[]'s

Alguem conseguiria me ajudar??

[]'s

???