Passer des arguments dans JButton ActionListener

Je suis à la recherche d'un moyen de transmettre une variable ou une chaîne ou quelque chose dans une anonyme actionlistener ( ou explicite actionlistener ) pour un JButton. Voici ce que j'ai:

public class Tool {
...
  public static void addDialog() {
    JButton addButton = new JButton( "Add" );
    JTextField entry = new JTextField( "Entry Text", 20 );
    ...
    addButton.addActionListener( new ActionListener( ) {
      public void actionPerformed( ActionEvent e )
      {
        System.out.println( entry.getText() );
      }
    });
  ...
  }
}

Droit maintenant, je viens de déclarer entry être une variable globale, mais je déteste cette façon de faire ce travail. Est-il une meilleure alternative?

OriginalL'auteur Sam | 2012-03-29