Problema com JTable

Bem…
um JTable que eu fiz para uma “planilha eletronica” esta sem o nome das colunas…
eu não faço a minima idéia de onde esta o problema ai.
alguem pode me dizer qual foi meu erro?

import javax.swing.JButton;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JFileChooser;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.KeyStroke;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Planilha extends JFrame implements ActionListener{
	JMenuBar Bar;
	JMenu Arquivo;
	JMenuItem Save,Load,New,Exit;
	JTextField Texto1;
	boolean soNum;
	String[] Colunas = new String[]
	         {"A",
			  "B",
			  "C",
			  "D",
			  "E",
			  "F",
			  "G"};
	
	String[][] data= new String [][]{{"","","","","","",""},
					                 {"","","","","","",""},
					                 {"","","","","","",""},
					                 {"","","","","","",""},
					                 {"","","","","","",""}
	};
	JButton Calcular;
	JPanel a,b;
	Container c;
	JFileChooser LoadF = new JFileChooser();
	JFileChooser SaveF = new JFileChooser();

	public Planilha(){
		//News
		Bar = new JMenuBar();
		Arquivo = new JMenu("Arquivo");
		Save = new JMenuItem("Salvar");
		Load = new JMenuItem("Abrir");
		New = new JMenuItem("Novo");
		Exit = new JMenuItem("Sair");
		Texto1 = new JTextField("");
		Calcular = new JButton("Calcular");	
		a = new JPanel();
		b = new JPanel();
		c = getContentPane();
		final JTable Tabela = new JTable(data, Colunas);
		//News
		//Sets
		Tabela.setPreferredScrollableViewportSize(new Dimension(500,400));
		Tabela.setFillsViewportHeight(true);
		
		New.addActionListener(this);
		New.setMnemonic(KeyEvent.VK_N);
		New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));
		
		Save.addActionListener(this);
		Save.setMnemonic(KeyEvent.VK_S);
		Save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));
		
		Load.addActionListener(this);
		Load.setMnemonic(KeyEvent.VK_A);
		Load.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));
		
		Exit.addActionListener(this);
		Exit.setMnemonic(KeyEvent.VK_R);
		Exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,ActionEvent.ALT_MASK));
		
		Calcular.addActionListener(this);
		
		a.setLayout(new BorderLayout());
		a.add(Bar,BorderLayout.NORTH);
		a.setBorder(new LineBorder(Color.BLACK,2));
		a.add(Texto1);
		a.add(Calcular,BorderLayout.EAST);
		
		b.setLayout(new GridLayout(0,1));
		b.add(Tabela);
		
		
		c.setLayout(new BorderLayout());
		c.add(a,BorderLayout.NORTH);
		c.add(b,BorderLayout.CENTER);
		//Sets
		
		setSize(500,500);
		setVisible(true);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setJMenuBar(Bar);
		Bar.add(Arquivo);
		Arquivo.add(New);
		Arquivo.add(Load);
		Arquivo.add(Save);
		Arquivo.addSeparator();
		Arquivo.add(Exit);
	}

	final public boolean soNum(){
		String s = Texto1.getText();
		for(int i=0;i<s.length();i++){
			if (!Character.isDigit(s.charAt(i))){
				return false;
			}
		}
		return true;
	}
	public void actionPerformed(ActionEvent e) {
		Object Item = e.getSource();
		if (Item == New){
			new Planilha();			
		}else if(Item == Save){
			int Aceita = SaveF.showSaveDialog(Planilha.this);
		}else if (Item == Load){
			int Aceita = LoadF.showOpenDialog(Planilha.this);
		}else if(Item == Exit){
			dispose();
		}else if(Item == Calcular){			
		}
		
	}
	public static void main(String[]args){
		new Planilha();
		Planilha c = new Planilha();
	}

}

Agradecido.

Shogogan