Duvida com JTable

Olá Pessoal vou tentar ser bem claro para vcs entenderem o quero fazer por isso serei extenso, pois bem estou com dificuldades no contrutor da JTable vou explicando oq quero fazer, tenho tres classes, uma que faz conecção com o banco, uma class Principal q tem o main e que chama por meio de um botão e a terceira class onde esta a minha JTable, então é o seguinte minha JTable tem duas colunas que foi criada por meio do codigo abaixo e esta implementada na terceira class onde consta a JTable:

	public Vector Coluna(){
	     Vector cabecalho = new Vector();
	     cabecalho.add("Nome do Filme");
	     cabecalho.add("Tipo de Midia");
	     return cabecalho;
	}
              //criado as colunas para JTable

Agora na primeira class, onde faço a coneccao com o banco “Mysql”
implementei o seguinte metodo para as linhas:

public Vector carregaTabela() throws Exception
{
    Vector linhas = new Vector();
    Statement st;
    ResultSet res;
    try
   {
      st = conn.createStatement(); 
      res = st.executeQuery("SELECT TITULO,MIDIA FROM FILMES"); 
      res.next();
      ResultSetMetaData rsmd = res.getMetaData(); 	
      do{
      linhas.addElement(proximaLinha(res,rsmd));
      }
      while(res.next());   
      st.close();


      return linhas;       //obs eu naum tenho certeza nessa linha


   }catch(SQLException e){
    JOptionPane.showMessageDialog(null, e, "ERRO", 2);
    }return null;
}
public Vector proximaLinha(ResultSet rs, ResultSetMetaData rsmd) throws Exception {
 Vector linhaAtual = new Vector();
 for(int i=1; i<=rsmd.getColumnCount(); i++)
 {
   switch(rsmd.getColumnType(i))
   {
    case Types.VARCHAR:
         linhaAtual.addElement(rs.getString(i));break;
    case Types.TIMESTAMP:
         linhaAtual.addElement(rs.getTimestamp(i));break;
    case Types.TIME:
         linhaAtual.addElement(rs.getTime(i));break;
    case Types.DATE:
         linhaAtual.addElement(rs.getDate(i));break;
    case Types.REAL:
         linhaAtual.addElement(new Float(rs.getFloat(i)));break;
    case Types.INTEGER:
         linhaAtual.addElement(new Integer(rs.getInt(i)));break;
     }
   }
  return linhaAtual;
}

Agora na Terceira Classe criei o metodo que cria a JTable:

[code]
public JTable getJTable() throws Exception {
if (jTable == null) {
jTable = new JTable(con.carregaTabela(),montarColunasParaLista());

} //obs aqui ta erro q meu Editor acusa nos paramentros do construtor da JTable pois são os dois Vector criados anteriormente portanto qdo comentei que naum tenho certeza se ta retornando certo lá no metodo carregaTabela();
será que ta certo isso?
obs a classe coneccao esta implementada

return jTable;
}[/code]

Só para enteder melhor eu consegui fazer todo esse processo em uma unica classe, q é essa que esta abaixo e funcionou certo me retornando os dados referntes do banco, antente para o while que esta dentro do metodo que enquanto tive linha ele ta jogando dentro da JTable implementada dentro do proprio metodo:

[code]
import java.sql.;
import javax.swing.
;
import java.awt.;
import java.awt.event.
;
import java.util.;
import javax.swing.table.
;

public class AcessoBD extends JDialog
{
private Connection con; // objeto de conexão
private JTable tab;

public AcessoBD()
{
	setBounds(100,100,600,180);
	carregaTabela();
	setVisible(true);
}
	
	public void conecta(){
	String url = "jdbc:mysql://localhost/locadora"; // indica o local do banco;
	try
	{
		Class.forName("com.mysql.jdbc.Driver"); // indica o driver de conexão;
		con = DriverManager.getConnection(url);  // faz a conexão com o banco;
		
	}
	catch(Exception e)
	{
		JOptionPane.showMessageDialog(this, e, "Erro", 2);
	}
}
private void carregaTabela()
{
	Statement st;
	ResultSet res; // guarda o resultado do comando SQL
	try
	{
		conecta();
		
		Vector cabecalho = new Vector();
		cabecalho.add("Nome do Filme");
		cabecalho.add("Tipo de Midia");

		
		Vector linhas = new Vector();
		st = con.createStatement(); // para criar um comando;
		res = st.executeQuery("select Titulo,Midia from Filmes order by Titulo"); // comando com sintaxe sql
		res.next(); // para ir para o proximo registro, pois o "cursor" sai numa posição acima da primeira;
		
		ResultSetMetaData rsmd = res.getMetaData(); // retorna a definição da tabela

		do
		{
			linhas.addElement(proximaLinha(res,rsmd));
		}
		while(res.next());  // repetição do_while - adiciona um elemento no vetor enquanto tiver proxima linha
		
		tab = new JTable(linhas,cabecalho);
		

		JScrollPane sc = new JScrollPane(tab);
		getContentPane().add(sc, BorderLayout.CENTER);
		validate(); //ajusta os dados dentro da janela;
		st.close(); // fecha o comando;
	}
	catch(SQLException e)
	{
		JOptionPane.showMessageDialog(this, e, "ERRO", 2);
	}
}
private Vector proximaLinha(ResultSet rs, ResultSetMetaData rsmd)
{
	Vector linhaAtual = new Vector();
	try
	{
		for(int i=1; i<=rsmd.getColumnCount(); i++)
		{
			switch(rsmd.getColumnType(i))
			{
			case Types.VARCHAR:
				linhaAtual.addElement(rs.getString(i));
				break;
			case Types.TIMESTAMP:
				linhaAtual.addElement(rs.getTimestamp(i));
				break;
			case Types.TIME:
				linhaAtual.addElement(rs.getTime(i));
				break;
			case Types.DATE:
				linhaAtual.addElement(rs.getDate(i));
				break;
			case Types.REAL:
				linhaAtual.addElement(new Float(rs.getFloat(i)));
				break;
			case Types.INTEGER:
				linhaAtual.addElement(new Integer(rs.getInt(i)));
				break;
			}
			
		}
	}
	catch(SQLException e)
	{
		JOptionPane.showMessageDialog(this, e, "Erro", 2);
	}
	
	return linhaAtual;
} 
public static void main(String args[])
{
	new AcessoBD();
}

}[/code]

Portanto minha dificulfdade é essa eu separei esses metodos e naum estou conseguindo atribuir a JTable, resumindo quero fazer tudo isso ae so q tenho um metodo para as linha q esta e uma classe e a JTable em outra…como fço isso alguem pode me ajudar pois estou tendo dificuldades …

Obrigado e desculpe por ter sido muito extenso mas quero ser bem claro, espero q fui…
Aguardo resposta…

Olá pessoal consegui resolver o meu problema na classe coneccao ao invez de usar um Vector usei um DefaultTableModel q me retorna um return new DefaultTableModel(linhas, colunasParaLista);

a grande mudança foi na classe onde estava implementada a JTable ao invez de passar o paramentro para o construtror da JTable simplesmente estanciei um TableModel a JTable e assim passando os parametros para ela dos metodo para as linhas e colunas…

Obrigado Java é d++