Acesso a atributos

[size=13]
Boa tarde.
Se alguém puder me ajudar, ficarei muitíssimo grato.
Estou com dificuldade no seguinte:
Quero criar uma classe apenas para tratar eventos de botão (separar a lógica de negócio da lógica de apresentação), a classe que contém o botão estende do JFrame; é uma espécie de calculadora e os botões são operações aritméticas (soma, divisão, multiplicação e subtração).
Dentro da classe que estende do JFrame (Calculadora) criei um objeto ouvinte, pertencente a classe que eu criei para tratar eventos. Fiz com que esse objeto seja ouvinte dos botões.
Até aí tudo maravilha, minha dificuldade é que necessito acessar um objeto JTextFied (que é um atributo da classe Calculador) de dentro do método que trata os eventos (actionPerformed, esse método está na classe que criei para tratar eventos) e não sei como faço para acessa-lo.

Muito obrigo.
[/size]

Se quizer somente usar os métodos do JTextField, tu pode HERDAR…

classe minha_classe extends JTextField

ou tu pode importar direto…

import javax.swing.JTextField …

agora se tu quer usar ou modificar o objeto de outra classe, ai é bom tu usar um pouco de lógica GET&SET (passando por referencia) …

fica mais profissional… abs

Como sugestão você pode criar um objeto action, que implementa o AbstractAction, e pode retornar esse action para a sua classe onde tem os JComponents.

Vamos supor:

Você tem a classe do layout, que extende de JFrame, nessa classe há os JComponentes (JTextField, JTextArea…) nela vc atribui uma action para cada componente que participará do evento.

Essa action é retornada por um método dessa classe externa. Ex: MeusEventosCalc

MeusEventosCalc events = new MeusEventosCalc();

events.somar(); //retorna um objeto action, do qual já tem o evento definido do que o componente irá fazer.

Você pode criar os métodos de uma forma similar:

Action action = new AbsctractAction(
{ public actionPerformed(ActionEvent e) { … } });

atribua cacteristicas nessa action como title

action.putValue(Action.NAME, “+”);

retorna a figura… return action;

cria a instancia dessa classe “ouvidora” na classe do layout e chame os métodos necessários, atenção, NÃO testei nada do que eu escrevi aqui, portanto eu posso ter errado alguma coisa, mas é mais ou menos isso.