Barra de navegação com Entity Classes

Pessoal,

Estou precisando criar uma barra de navegação entre os registros de uma classe.(Entity)
Criei uma barra de ferramentas com diversos botões de navegação entre os registros de uma entidade(Adicionar, remover, Editar, Salvar, Cancelar, Próximo Registro, Registro anterior, Primeiro Registro, Ultimo Registro).
MInha idéia é que esse componente funcione para qualquer tipo de classe.EX:
Tenho uma Entity que mapeia uma tabela de cadastro de usuários(TBUsers), outra para grupos(TBGroups)…
Criei um componente que extende JTextFiel com uma propriedade chamada fieldName(JDevTextField).
Minha idéia é que quando o botão da barra de navegação “Salvar” for acionado, eu procure no JFrame os componentes JDevTextField, pegue o conteudo da propriedade fieldName e busque o valor da Entity que está relacionada a ele.
Me deparei com alguns problemas para fazer isso, o principal deles é:
Como obter o valor do método da entidade.EX:
Na minha entity TBUser tenho o metodo getName.
No meu JFrame eu tenho um componente JDevTextField com o valor da propriedade fieldName como “Name”.
Como eu faço para instanciar a classe TBUsers e chamar o método getName dela? preciso fazer isso através de reflection? existe outro jeito?

Trecho do código onde é chamado o botão Salvar em minha barra de navegação

            private void btnEditSaveActionPerformed(ActionEvent evt) {
             //   defaultToolbarInterface tb = (defaultToolbarInterface)jf; 
                //Pegando todos os componentes dentro do JInternalFrame (jf)
                Component[] comps = jf.getRootPane().getComponents();
                JDevTextField txtField;
                for (Component c : comps){
                    if (c instanceof JDevTextField){
                        txtField = (JDevTextField) c;
                        //Pegando o valor do fieldName
                        String columnName = txtField.getFieldName();
                        //Arrumando o nome do método
                        columnName = "get" + columnName;
                        //Pegando todos os métodos da minha classe(currentObject é a
                        // minha classe TBUsers
                        //)
                        Method[] mts = currentObject.getClass().getMethods();
                        for(Method m : mts){
                            if ( m.getName().equals(columnName)){
                                //Não entendo os parâmetros que invoke precisa... pois meu
                                //método retorna apenas um valor string e não recebe nenhum parâmetro
                                txtField.setText(m.invoke(?,?));
                            }
                        }
                        
                    }
                }
                
            }

Outro problema é que a minha barra de navegação deve funcionar com vários tipos de classes, ex: TBUsers, TBGroups… portanto, eu não posso fixar o tipo do currentObject.Estou utilizando o tipo Object mas eu queria saber também se é possivel passar para minha barra de navegação o tipo da classe que eu precisava instanciar.EX:

Em minha barra de navegação, meu construtor é:

public DBToolbar(Class c, JInternalFrame jf, List AllObjects){
 //Class c é o tipo da classe que eu preciso instanciar para obter os métodos
 //JInternalFrame jf é o meu JInternalFrame que contém os JDevTextField
 //List AllObjects é um List com todos os registros da minhas tabelas
// Como eu posso instanciar uma classe do tipo TBUsers?
   Class nClass = Class.forName(c.getName);??? não funciona...


}

Espero não ter sido confuso ao explicar meus problemas…rrsrsrs
Agradeço qualquer ajuda!

Boa tarde Danilo!

Precisei fazer algo + ou - parecido com o que vc ta querendo fazer
e utilizei reflection.
Sobre o método invoke(?,?) de Method se me lembro bem
o primeiro parâmetro é o objeto que vc quer executar o método
e o segundo são os parâmetros que o método precisa,
o primeiro parâmetro (objeto) é sempre necessário, mas o segundo nem sempre
somente quando um método tiver parâmetros.

Sobre Class.forName(); não funcionar, eh porque nesse momento vc tem somente
um objeto no tipo Class, depois disso, basta vc chamar o método getInstance ou newInstace
ou algumaCoisaInstance que eu não lembro, mas dê uma olhada lá que vc vai ver algo assim.

O que vc ta fazendo não é dificil não, pode continuar que vc vai conseguir