Action vs Controller



This is a question on architecture.

In java we have two options on how to implement event handling
mechanism.
* First is to subclass AbstractAction, define all action handling
logic within this subclass and then initialize all GUI controls with
an object of this subclass or call setAction on controls.
* Second is to implement MVC pattern and put all action logic and
*any* other handling event logic into the Controller class.

As you can see the only difference between option #1 and option #2 is
that Controller is more versatile that AbstractAction subClass.

I would like to ask your opinion on which option do you think is
better for a generic GUI application? I understand that the decision
highly depends on the exact task, but imagine your task is to develop
quite a small GUI app with just one static JMenuBar and a few GUI
controls on the main JFrame window. Also you would probably want to
develop further in the future.

-R.
.