Model / View / Controller
Controller handles input (the button presses)
Model handles game state (the players' current hands)
View displays everything.
Have a look at Wikipedia:
http://en.wikipedia.org/wiki/Model–View–Controller
In my opinion, strict MVC is not as important for most games and apps as it is for websites and database-driven apps, however it's a good place to start from.
Your view should contain a reference to the model so it can access the model's state as it draws. The model represents your players' hands, so your Gui class should in your case contain references to the players. The controller should be the class that implements ActionListener. It will have references to both the view and the model, so when a button is pressed it will update the model from that press, and then tell the view to refresh from the new model state (or the view can have some sort of state changed listener).
Take a look at the diagram on the Wikipedia page.