jScrollPane não se movimenta na vertical e Horinzontal

Boa tarde, estou efetuando testes com o JFrame dentro de um ScroolPane, mas não estou obtendo sucesso com a movimentação do scrool, minha tabela possui mais linhas do que cabe no JPanel, mas o scrool fica estático sem movimentação, gostaria que funcionasse o scrool do mouse no sobe e desce dos dados ou quando clicasse no subir ou descer do scrool as linhas do JTable fossem atualizando.

package Teste;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class NewJPanelPesquisas extends javax.swing.JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JButton btnListar;
	private JTable jTable;
	private TableModel baseTabela = new DefaultTableModel(new String[][] {
		    { "", "" }, { "", "" }}, new String[] {"", ""});
	private JScrollPane jScrollPane1;

	/**
	 * Auto-generated main method to display this JPanel inside a new JFrame.
	 */
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.getContentPane().add(new NewJPanelPesquisas());
		frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}

	public NewJPanelPesquisas() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setPreferredSize(new Dimension(400, 300));
			this.setLayout(null);
			{
				btnListar = new JButton();
				this.add(btnListar);
				btnListar.setText("Listar as Ordens na Metinjo");
				btnListar.setBounds(12, 12, 377, 21);
				btnListar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btnListarActionPerformed(evt);
					}
				});
			}
			{
				jScrollPane1 = new JScrollPane();
				this.add(jScrollPane1);
				jScrollPane1.setBounds(12, 44, 376, 228);
				jScrollPane1.getVerticalScrollBar().setAutoscrolls(true);
				jScrollPane1.setAutoscrolls(true);
				jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
				jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
				jScrollPane1.getVerticalScrollBar().setUnitIncrement(10);
				{
					jTable = new JTable();
					jScrollPane1.setViewportView(jTable);
					jTable.setModel(baseTabela);
					jTable.setBounds(245, 209, 376, 244);
					jTable.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1,
							false));
					jTable.setCellSelectionEnabled(true);				
					jTable.setPreferredSize(new java.awt.Dimension(327, 208));
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void btnListarActionPerformed(ActionEvent evt) {
		System.out.println("btnListar");
		try {
			CarregaLista();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void CarregaLista() throws Exception {
		//jTable.setVisible(true);
		Class.forName("org.firebirdsql.jdbc.FBDriver");
		Connection con;
		con = DriverManager.getConnection("jdbc:firebirdsql:localhost:C:/CPS/Dados/teste.fdb","SYSDBA","masterkey");
		ResultSet rst;
		String sql;
		Statement st = con.createStatement();
		Vector<String[]> aux = new Vector<String[]>();
		sql = "Select tos.cod_cliente, tos_aux.n_desenho, tos_aux.n_os_cliente from tpro_pro, tos_aux, tos where tpro_pro.cod_os = tos_aux.cod_os and tpro_pro.cod_os = tos.codigo and tpro_pro.cod_os_aux = tos_aux.codigo and tos.aprovado = 1 and tos.concluido = 0 and tos.cancelado = 0 and tpro_pro.cod_tp_servico = 69 and (tpro_pro.finalizado = 0 or tpro_pro.finalizado is null) and (tpro_pro.hr_estimadas - tpro_pro.hs_realizadas) > 0 order by tpro_pro.cod_tp_servico";
		// Retorna um ResultSet
		rst = st.executeQuery(sql);
		String[] colunas = { "Cliente", "Desenho" };
		while (rst.next() && rst.getRow() > 0) {
			String[] linha = new String[2];
			linha[0] = rst.getString(1);
			linha[1] = rst.getString(2);
			aux.add(linha);			
			
		}
		String[][] dados = new String[aux.size()][2];
		int i = 0;
		for (String[] linha : aux) {
			dados[i++] = linha;
		}
		
		baseTabela = new DefaultTableModel(dados, colunas);
		jTable.setModel(baseTabela);
		con.close();
	}

}

Desde já obrigado.

Sandro Fernandes Ferreira

Resolvido!
O quem tem que aumentar é jTable não o jScroolPanel.

package Teste;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class NewJPanelPesquisas extends javax.swing.JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JButton btnListar;
	private JTable jTable;
	private TableModel baseTabela = new DefaultTableModel(new String[][] {
		    { "", "" }, { "", "" }}, new String[] {"", ""});
	private JScrollPane jScrollPane1;

	/**
	 * Auto-generated main method to display this JPanel inside a new JFrame.
	 */
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.getContentPane().add(new NewJPanelPesquisas());
		frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}

	public NewJPanelPesquisas() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setPreferredSize(new Dimension(400, 300));
			this.setLayout(null);
			{
				btnListar = new JButton();
				this.add(btnListar);
				btnListar.setText("Listar as Ordens na Metinjo");
				btnListar.setBounds(12, 12, 377, 21);
				btnListar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btnListarActionPerformed(evt);
					}
				});
			}
			{
				jScrollPane1 = new JScrollPane();
				this.add(jScrollPane1);
				jScrollPane1.setBounds(12, 44, 376, 228);
				jScrollPane1.getVerticalScrollBar().setAutoscrolls(true);
				jScrollPane1.setAutoscrolls(true);
				jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
				jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
				jScrollPane1.getVerticalScrollBar().setUnitIncrement(10);
				{
					jTable = new JTable();
					jScrollPane1.setViewportView(jTable);
					jTable.setModel(baseTabela);
					jTable.setBounds(245, 209, 376, 244);
					jTable.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1,
							false));
					jTable.setCellSelectionEnabled(true);				
					jTable.setPreferredSize(new java.awt.Dimension(358, 16));
					jTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void btnListarActionPerformed(ActionEvent evt) {
		System.out.println("btnListar");
		try {
			CarregaLista();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void CarregaLista() throws Exception {
		//jTable.setVisible(true);
		Class.forName("org.firebirdsql.jdbc.FBDriver");
		Connection con;
		con = DriverManager.getConnection("jdbc:firebirdsql:10.10.1.143:C:/CPS/Dados/teste.fdb","SYSDBA","masterkey");
		ResultSet rst;
		String sql;
		Statement st = con.createStatement();
		Vector<String[]> aux = new Vector<String[]>();
		sql = "Select tos.cod_cliente, tos_aux.n_desenho, tos_aux.n_os_cliente from tpro_pro, tos_aux, tos where tpro_pro.cod_os = tos_aux.cod_os and tpro_pro.cod_os = tos.codigo and tpro_pro.cod_os_aux = tos_aux.codigo and tos.aprovado = 1 and tos.concluido = 0 and tos.cancelado = 0 and tpro_pro.cod_tp_servico = 69 and (tpro_pro.finalizado = 0 or tpro_pro.finalizado is null) and (tpro_pro.hr_estimadas - tpro_pro.hs_realizadas) > 0 order by tpro_pro.cod_tp_servico";
		// Retorna um ResultSet
		rst = st.executeQuery(sql);
		int tam_linha = 16;                                             // resolvido
		String[] colunas = { "Cliente", "Desenho" };
		while (rst.next() && rst.getRow() > 0) {
			String[] linha = new String[2];
			linha[0] = rst.getString(1);
			linha[1] = rst.getString(2);
			aux.add(linha);			
			
		}
		String[][] dados = new String[aux.size()][2];
		int i = 0;
		for (String[] linha : aux) {
			dados[i++] = linha;
		    tam_linha = tam_linha + 16;	 // resolvido
		}
		jTable.setPreferredSize(new java.awt.Dimension(358, tam_linha));  // resolvido 
		baseTabela = new DefaultTableModel(dados, colunas);
		jTable.setModel(baseTabela);
		con.close();
	}

}

[quote=massucato]Boa tarde, estou efetuando testes com o JFrame dentro de um ScroolPane, mas não estou obtendo sucesso com a movimentação do scrool, minha tabela possui mais linhas do que cabe no JPanel, mas o scrool fica estático sem movimentação, gostaria que funcionasse o scrool do mouse no sobe e desce dos dados ou quando clicasse no subir ou descer do scrool as linhas do JTable fossem atualizando.

package Teste;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class NewJPanelPesquisas extends javax.swing.JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JButton btnListar;
	private JTable jTable;
	private TableModel baseTabela = new DefaultTableModel(new String[][] {
		    { "", "" }, { "", "" }}, new String[] {"", ""});
	private JScrollPane jScrollPane1;

	/**
	 * Auto-generated main method to display this JPanel inside a new JFrame.
	 */
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.getContentPane().add(new NewJPanelPesquisas());
		frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}

	public NewJPanelPesquisas() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setPreferredSize(new Dimension(400, 300));
			this.setLayout(null);
			{
				btnListar = new JButton();
				this.add(btnListar);
				btnListar.setText("Listar as Ordens na Metinjo");
				btnListar.setBounds(12, 12, 377, 21);
				btnListar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btnListarActionPerformed(evt);
					}
				});
			}
			{
				jScrollPane1 = new JScrollPane();
				this.add(jScrollPane1);
				jScrollPane1.setBounds(12, 44, 376, 228);
				jScrollPane1.getVerticalScrollBar().setAutoscrolls(true);
				jScrollPane1.setAutoscrolls(true);
				jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
				jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
				jScrollPane1.getVerticalScrollBar().setUnitIncrement(10);
				{
					jTable = new JTable();
					jScrollPane1.setViewportView(jTable);
					jTable.setModel(baseTabela);
					jTable.setBounds(245, 209, 376, 244);
					jTable.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1,
							false));
					jTable.setCellSelectionEnabled(true);				
					jTable.setPreferredSize(new java.awt.Dimension(327, 208));
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void btnListarActionPerformed(ActionEvent evt) {
		System.out.println("btnListar");
		try {
			CarregaLista();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void CarregaLista() throws Exception {
		//jTable.setVisible(true);
		Class.forName("org.firebirdsql.jdbc.FBDriver");
		Connection con;
		con = DriverManager.getConnection("jdbc:firebirdsql:localhost:C:/CPS/Dados/teste.fdb","SYSDBA","masterkey");
		ResultSet rst;
		String sql;
		Statement st = con.createStatement();
		Vector<String[]> aux = new Vector<String[]>();
		sql = "Select tos.cod_cliente, tos_aux.n_desenho, tos_aux.n_os_cliente from tpro_pro, tos_aux, tos where tpro_pro.cod_os = tos_aux.cod_os and tpro_pro.cod_os = tos.codigo and tpro_pro.cod_os_aux = tos_aux.codigo and tos.aprovado = 1 and tos.concluido = 0 and tos.cancelado = 0 and tpro_pro.cod_tp_servico = 69 and (tpro_pro.finalizado = 0 or tpro_pro.finalizado is null) and (tpro_pro.hr_estimadas - tpro_pro.hs_realizadas) > 0 order by tpro_pro.cod_tp_servico";
		// Retorna um ResultSet
		rst = st.executeQuery(sql);
		String[] colunas = { "Cliente", "Desenho" };
		while (rst.next() && rst.getRow() > 0) {
			String[] linha = new String[2];
			linha[0] = rst.getString(1);
			linha[1] = rst.getString(2);
			aux.add(linha);			
			
		}
		String[][] dados = new String[aux.size()][2];
		int i = 0;
		for (String[] linha : aux) {
			dados[i++] = linha;
		}
		
		baseTabela = new DefaultTableModel(dados, colunas);
		jTable.setModel(baseTabela);
		con.close();
	}

}

Desde já obrigado.

Sandro Fernandes Ferreira[/quote]