Redimensionar JScrollPane dentro do JFrame

Ola amigos, boa tarde

Ainda estou começando a mexer com AbstractTableModel, e surgem diversas duvidas e gostaria de uma ajuda…
segue meu código abaixo para ajudar e entender o meu problema

Essa é minha classe AbstractTableModel

public class TabelaDeCadastros extends AbstractTableModel {
	private static final long serialVersionUID = 1L;
	
	private List<RelProdutos> linhas;
	
	
	private String[] colunas = new String[]{
			"Produto", "Operador", "Turno", "Lote", "Volume", "Qtde.Produzida",	"Data Entrada", "Data Saída"
	};

	public TabelaDeCadastros() {
		linhas = new ArrayList<RelProdutos>();
	}
	
	public TabelaDeCadastros(List<RelProdutos> listaDeProdutos){
		linhas = new ArrayList<RelProdutos>(listaDeProdutos);
	}
	
	@Override
	public int getColumnCount() {
		return colunas.length;
	}

	@Override
	public int getRowCount() {
		return linhas.size();
	}
	
	public String getColumnName(int columnIndex){
		return colunas[columnIndex];
	}
	
	public Class<?> getColumnClass(int columnIndex){
		
		switch (columnIndex) {
		case 0:
			return String.class;
		case 1:
			return String.class;
		case 2:
			return String.class;
		case 3:
			return Integer.class;
		case 4:
			return Integer.class;
		case 5:
			return Integer.class;
		case 6:
			return Date.class;
		case 7:
			return Date.class;

		default:
			throw new IndexOutOfBoundsException("Fora dos limites!");
		}
		
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		
		RelProdutos relProdutos = linhas.get(rowIndex);
		
		switch (columnIndex) {
		case 0:
			return relProdutos.getProduto();
		case 1:
			return relProdutos.getOperador();
		case 2:
			return relProdutos.getTurno();
		case 3:
			return relProdutos.getLote();
		case 4:
			return relProdutos.getVolume();
		case 5:
			return relProdutos.getQuantidade();
		case 6:
			return relProdutos.getDataEntrada();
		case 7:
			return relProdutos.getDataSaida();

		default:
			throw new IndexOutOfBoundsException("Fora dos limites!!!");
		}
	}
	
	@Override
	public boolean isCellEditable(int arg0, int arg1) {
		return false;
	}
	
	public void addListaDeProdutos(List<RelProdutos> produtos){
		int tamanhoAntigo = getRowCount();
		
		linhas.addAll(produtos);
		
		fireTableRowsInserted(tamanhoAntigo, getRowCount() - 1);
		
	}
	
}

Esse é o JFrame

public class RelatorioRegistros extends JFrame {
	private static final long serialVersionUID = 1L;
	
	private JTable tblRegistro;
	private TabelaDeCadastros registrosModel;
	
	
	public RelatorioRegistros() {
		super("Relatórios e Registros");
		initialize();
	}
	
	private void initialize(){
		Container tela = getContentPane();
		tela.add(new JScrollPane(getTblProdutos()));
		
		getModel().addListaDeProdutos(addRegistros());
		
		setSize(800, 600);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	
	private JTable getTblProdutos(){
		if(tblRegistro == null){
			tblRegistro = new JTable();
			tblRegistro.setModel(new TabelaDeCadastros());
		}
		return tblRegistro;
		
	}
	
	private TabelaDeCadastros getModel(){
		if(registrosModel == null){
			registrosModel = (TabelaDeCadastros) getTblProdutos().getModel();
		}
		return registrosModel;
	}
	
	private List<RelProdutos> addRegistros(){
		List<RelProdutos> registros = new ArrayList<RelProdutos>();
		registros = new ControleController().listaProdutos();
		return registros;
	}
	
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			
			public void run() {
				new RelatorioRegistros().setVisible(true);
			}
		});
	}

}

Enfim note que crio um JTable e seto a classe TabelaDeCadastros nela ali no metodo getTblProdutos(), assim que executa a Tabela fica ‘full’ no JFrame,
o que eu queria é que a Tabela ficasse tipo ocupando apenas um espaço no JFrame, de preferencia na parte de baixo (por ex: da meitade pra baixo somente),
se poderem me ajudar agradeço desde já… Abraço

Obs: é claro que ja tentei mexer com os métodos do JTable, por ex: setSize…, mas não muda em nada

Ainda pesquisando, mas ainda nada que resolva…
meu objetivo é só colocar o tabela de registros na parte de baixo do JFrame, porque acima dela quero colocar combobox pra fazer filtrangens e tals… mas n vem ao caso,
resumindo, quero saber mesmo se da para usar esse JFrame para as ‘duas coisas’, a tabela,combos, textField ou imagens que eu quiser colocar… bem acho que deu pra entender

Ja tentei tb redimensionar o ScrollPane com setBounds, mas não surte efeito

não redimensiona e nem meche de lugar de forma alguma
; @@@@@@@@@@@@

Please, help

:frowning:

.

.