Ajustar tamanho do JPanel conforme JScrollPane e esse conforme tamanho das colunas do JTable

Boa tarde.

Tenho uma classe ‘Grid’ que extende JPanel. Dentro dela crio um JScrollPane com um JTable. Gostaria de saber como ajustar automaticamente o tamanho da classe conforme as colunas do JTable. Exemplo: uso a classe Grid para listar um cadastro de cidade, listando o nome (tamanho 200) e uf (tamanho 30). Seto o tamanho das colunas, porém elas não se ajustam, o Grid fica sempre com o mesmo tamanho, idependente das colunas.

A ideia básica é que você precisa mudar o preferredSize do JPanel, somando o tamanho das colunas e colocando isso como width do JPanel. Talvez chamar o revalidate() do JPanel seja necessário (não lembro onde li isso).

Veja:
http://www.guj.com.br/java/228110-redimensionar-jpanel
http://www.guj.com.br/java/125270-redimensionamento-de-jpanel-dentro-de-jscrollpane

Abraço.