Preencher Tabela com Vários Itens diferentes

Tenho dados vindos de outros forms e neles um identificador CodigoAlunos, sendo que ao fazer clique no primeiro form os dados são transferidos para esse form que contém a tabela, através de um método “recebe” a minha tabela tem duas colunas uma Matemática e outra Inglês,
Sendo que através do código abaixo eu consigo setar os dados de cada aluno em apenas uma coluna

  > PreencherTabela("select * from tbl_notas INNER JOIN tbl_disciplina ON tbl_disciplina.CodigoDisciplina = tbl_notas.FkDisciplinas "
        + "INNER JOIN tbl_alunos ON tbl_alunos.Codigo_Aluno = tbl_notas.FKAlunos where FkDisciplinas =1 && FKAlunos LIKE '"+ jTextFieldNumAluno.getText() +"%'");

Pensei em criar variáveis e converte-las em Sql para depois chamar no meu método preencher tabela,

  ConectaBanco Disciplinas = new ConectaBanco ();
   int CodigoMatematica, CodigoIngles;
    Disciplinas.conexao();
   Disciplinas.executasql (" PreencherTabela("select * from tbl_notas INNER JOIN tbl_disciplina ON tbl_disciplina.CodigoDisciplina = tbl_notas.FkDisciplinas "
        + "INNER JOIN tbl_alunos ON tbl_alunos.Codigo_Aluno = tbl_notas.FKAlunos where FkDisciplinas =1 && FKAlunos LIKE '"+ jTextFieldNumAluno.getText() +"%'");");
    Disciplinas.rs.first();
    CodigoMatematica = Disciplinas.rs.getint ("Notas");

Mas apenas só iria mostrar os dados da primeira linha

O método para preencher a tabela
public void preencherTabela (String SQL) {

          ArrayList dados = new ArrayList() ;
    
     
    String [] Colunas = new String[] {"Matemática", "Física"};
    
    
       TabelaNotas.executaSQL(SQL);
            try {
               TabelaNotas.rs.first();
                do {
                        dados.add(new Object[] {CodigoMatematica, CodigoIngles});
                      
                }while (  TabelaNotas.rs.next());
                
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, "Erro ao preencher Tabela Alunos \n" +ex.getMessage());