Dúvidas na insersão de jtables em scrollpane

Boa noite!
Estou com dificuldades em colocar tabelas aninhadas verticalmente num scrollpane, ou seja, pesquisei muito na última semana e com informações deste fórum e de outras fontes, montei uma maneira meio confusa, porém funcional. O problema é que eu gostaria que ao terminar a apresentação de uma tabela iniciasse a outra sem espaço em branco entre elas e também não gostaria que a tabela mostrasse a barra vertical quando excede o espaço. Os dados apresentados nas tabelas são do banco de dados.
Já tentei com o GridBagLayout sem sucesso.
A seguir uma classe fictícia, representando o meu problema. Desde já agradeço.
Luiz Garpelli

package testescrollpane;
import java.awt.*;
import javax.swing.*;

public class Teste extends JFrame {
    JPanel paneMestre;
    JPanel pane;
    JScrollPane spMestre;
    JScrollPane sp[] = new JScrollPane[5];//Array de ScrollPane com 5 elementos

    // Cria a janela principal:
public Teste() {
        //Propriedade do Frame
        this.setSize(1100, 700);
            this.setBackground(Color.cyan);//cor de fundo cyan
                this.setTitle("janela teste");//muda o labelTitulo da janela
                    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//fecha
                this.setLocationRelativeTo(null);//centraliza
            this.setResizable(false);//desabilita o redimensionamento da janela
        this.getContentPane().setLayout(null);//
        //fim da criação da janela principal

        paneMestre = new JPanel(new GridLayout(5,1));//Novo GridLayout com 5 linhas e 1 coluna
        //Cria os objetos scrolls e instancia tabela(int) com o parâmetro
        sp[0] = new JScrollPane(tabela(20));
        sp[1] = new JScrollPane(tabela(5));
        sp[2] = new JScrollPane(tabela(2));
        sp[3] = new JScrollPane(tabela(38));
        sp[4] = new JScrollPane(tabela(9));

        //adiciona os scrolls sp[] à panemestre
        for (int i = 0;i < 5;i++){
            paneMestre.add(sp[i]);}

        //cria uma nova scroll e instancia a panemestre ao objeto
        spMestre = new JScrollPane(paneMestre,
                        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,//mostra a barra de rolagem vertical
                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);//não mostra a barra de rolagem horizontal


        pane = new JPanel(new BorderLayout());//cria o objeto pane
        pane.setBounds(20, 60, 1040,600);//posicionamento na tela e tamanho da jpanel
        pane.setBackground(Color.CYAN);//cor de fundo
        pane.add(spMestre);//adiciona o objeto scroll spmestre à pane
        getContentPane().add( pane );
}

public static void main(String[] args) {
         java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Teste().setVisible(true);
            }
        });
    }

//metodo para criar objeto tabela
private JTable tabela(int row){
    int col = 5;
    String linhas[][] = new String[row][col];
    JTable tabela = null;

    String[] colunas = new String []{
             "Coluna 1","Coluna 2","Coluna 3","Coluna 4","Coluna 5",};

    for (int i = 0; i < linhas.length;i++){
            for(int j = 0; j< linhas[i].length;j++){
                linhas[i][j] = "";
                }
        }
    tabela = new JTable(linhas, colunas);
    tabela.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    return tabela;
}//fim tabela
}//Fim da Classe

O espaço em branco aparece porque o layout deixa todos componentes com o mesmo tamanho, ou seja, ele copia o tamanho da maior tabela.

Você precisa usar outro layout, mas como naum estou acostumado com vetores, não saberia explicar como fazer com layout nulo.

Obrigado “andbecker” pela atenção. Você tem ideia de como poderei faze-lo não usando vetores?
Você está sugerindo criar um jpanel individual para cada jtable?
Grato

Não, estou sugerindo que você use o gerenciador de layout null, onde cada tabela deve ter os valores de setBounds definidos. No ultimo post do meu blog eu apresento uma interface com uma tabela, pode ser uma boa referencia pra você.

http://analisedesistemas.wordpress.com/2011/08/22/grupo-de-estudos-java-criando-uma-interface-com-conexao-ao-banco-de-dados-mysql/

Desculpe pela demora, li seu material postado gostei muito, tirarei proveito e não só da jtable mas também da classe de conexão com o Banco. Tenho uma classe de conexão onde ficam o endereço, usuário e senha, da sua maneira é mais elegante um arquivo texto.
Quanto ao meu problema tentarei resolver com o IDE Netbeans acho que terei sucesso.

Muito obrigado.

Luiz