Java eventhändling

Hallo habe ein kleines Problem(hoffe dies zumindest).
Habe eine Gui mit eventhändling nun gebe ich ein text in eine Feld ein in der Gui und jetzt habe ich das Problem das dies zwar in den actionlistener übernommen wird aber jetzt will ich das ganze auch weiter in meinem Restlichen Programm nutzen (Logfenster, weiterverarbeitung der Daten löschen des Textfeldes usw.).

Quellcode:
ActionListener neuezahl;
JTextField zahlin= new JTextField();
zahlin.addActionListener(neuezahl);

neuezahl =new ActionListener() {
public void actionPerformed( ActionEvent e )
{
JTextField input = (JTextField) e.getSource();
System.out.println(input.getText());
zahlin.setText("");// hier entsteht der fehler
}

die reihenfolge stimmt jetzt zwar nicht ganz aber der action listener wird angesprochen und gibt auch den Text im Feld aus allerdings nur über System.out.print was ich ja am ende in einem Textfeld haben möchte.

Fehlermeldung:
Main.java:278: local variable zahlin is accessed from within inner class; needs to be declared final

wie muss ich nun meine Variablen declarieren damit ich dies so nutzten kann??

Ich bedanke mich schonmal im vorraus.

MFG Nasenbaer80

Auch hallo.

Der Code scheint unvollständig zu sein, deswegen auch keine Gewähr:

Quellcode:

> ActionListener neuezahl;

//hier kommt die Änderung


> public (static) final JTextField zahlin= new JTextField();

// 


> zahlin.addActionListener(neuezahl);  
>   
> neuezahl =new ActionListener() {  
> public void actionPerformed( ActionEvent e )  
> {  
> JTextField input = (JTextField) e.getSource();  
> System.out.println(input.getText());  
> zahlin.setText("");// hier entsteht der fehler  
> }

mfg M.L.