I have a project to create a multi-player monopoly game I have a pretty good idea how to implement it but until now I had practically no experience with GUIs. What I want to do is I want the board to look pretty realistic so my main concerns are is SWING capable of providing me with:
a) clickable squares (supporting right click menus) and a background image
b) moving pieces (a “float from one square to another” animation would be nice) which would
stay over a square and would support right click menus
c) Pop up menus with a radio button.
Basically my main concern is the floating piece animation and the rolling dice animation (ok the last one is not so important).
If I can’t do that with SWING can I do that with QT?
The Swing library should be fine to use. It contains all of the GUI components you mention plus more.
When you mention animation, with pieces floating from one square to another, if they are going to be overlapping, passing through, or landing on some of your GUI components (like, if you plan on having the GUI components as part of the gameboard, as opposed to a side menu of game options), then I might suggest looking into rendering Swing with your game’s graphics at the same time, so the graphics can appear on top or on bottom of whatever components you have when needed.
You can find a tutorial on setting up a frame with game like graphics while rendering Swing at the same time here (the method in the tutorial uses active rendering, which is preferable when wanting smooth time based animations, such as the dice roll you want):
http://www.jamesgames.org/resources/double_buffer/double_buffering_and_active_rendering.html
(source: jamesgames.org)