'Allo, all. Apologies for posing this question here, but I couldn't think of any other place that might be able to help. I've been writing a game in Java for the last two months or so, and have gotten it to the stage where the engine is starting to think about working. Unfortunately, the graphics are currently borked. Here's the deal:
I'm running into problems when I try to add graphical overlay effects onto my tiles in-engine. The tiles are components that are based off of the JButton class, and I'd found that one could add graphical overlays to such tiles/buttons by adding JLabel components containing an alpha-mapped ImageIcon.
The graphics overlays seem to render fine at the beginning (the flame effect in the screens below is done using the same trick). I set up one specific overlay change to be tied to clicking the tile-buttons; once clicked, a simple green rectangle overlay is added to the tile in the results of the actionPerformed() call. This overlay (and other resulting changes to the GUI) don't actually get displayed on-screen until the frame containing the tile components gets resized, for some reason. Calling repaint() doesn't seem to do anything for any of the components (including on the frame itself). Any idea what I could do to get the frame to properly redraw/refresh?
For reference, here's a link to a screeny of before the resize forces a refresh: (edit: or a picture, apparently. go forums!)

and here's a screeny post-refresh:
I'm running into problems when I try to add graphical overlay effects onto my tiles in-engine. The tiles are components that are based off of the JButton class, and I'd found that one could add graphical overlays to such tiles/buttons by adding JLabel components containing an alpha-mapped ImageIcon.
The graphics overlays seem to render fine at the beginning (the flame effect in the screens below is done using the same trick). I set up one specific overlay change to be tied to clicking the tile-buttons; once clicked, a simple green rectangle overlay is added to the tile in the results of the actionPerformed() call. This overlay (and other resulting changes to the GUI) don't actually get displayed on-screen until the frame containing the tile components gets resized, for some reason. Calling repaint() doesn't seem to do anything for any of the components (including on the frame itself). Any idea what I could do to get the frame to properly redraw/refresh?
For reference, here's a link to a screeny of before the resize forces a refresh: (edit: or a picture, apparently. go forums!)
and here's a screeny post-refresh: