O método ‘metodo’ deve ser passado por parametro. Sei que isso pode ser feito com reflections mas ainda não sou familiarizado com reflections.
Outro detalhe é que o parametro deve ser apenas o método e não toda a classe, pois o metodo encontra-se dentro da classe de um internalframe de cadastros sendo assim ta chio de métodos publicos e privados lá dentro. Acredito que passa somente o método em questão ficará mais simples.
É muito mais simples que fazer com reflection, e ainda tem verificações tem compile time. Outra alternativa é fazer um DocumentListener abstrato, com um método a ser implementado:
E então fazer filhos dele. Mas eu ainda prefiro a primeira alternativa.
matheusssilva
Primeira opção, deixa eu vê se eu entendi.
1º Eu vou criar uma interface com um método a ser implementado
2º Implemento essa interface na classe de cadastro e defino o corpo do método
3º Depois passo essa interface como parametro para a classe ListnerAlteracoes
publicclassClassedeCadastroimplementsDocumentAction{publicvoidmetodo(){// corpo do método}textfield.getDocument.addDocumentListener(newListnerAlteracoes(// O QUE EU PASSO AQUI?));}
publicclassClassedeCadastroimplementsDocumentAction{publicvoidmetodo(){// corpo do método }textfield.getDocument.addDocumentListener(newListnerAlteracoes(this));}
Ou:
publicclassClassedeCadastroimplementsDocumentAction{...textfield.getDocument.addDocumentListener(newListnerAlteracoes(newDocumentAction(){publicvoidmetodo(){//corpo do método}));}