I have a GUI with multiple components some of which are text fields and some
aren't. There is also a toolbar at the top of the GUI. I would like to have
toolbar buttons representing the cut/copy/paste actions.

The problem is when you click on the button the text field with the focus
looses it! There is no way for the AbstractAction to tell which TextField
had focus via the ActionEvent object.

The only possible semi-solution I've come up with is to add a focus listener
to every component that sets a global static variable to the last focussed
component. This would probably work OK but I'd prefer a better solution.

Any ideas?