Ok, posted first video in the "update log", it's the actual loading and login screen.
The loading bar uses 2 sprites, 1 is the black version which means empty, and the red one is the percent.
I used a simple BufferedImage conversion to paint the red one over the black one and using getSubimage you can select the size so it was easy enough.
The client now only re-loads the clientscreen when required, for example when you minimize or something gui's don't continue to show graphic's, so it needs to be repainted, this is done as efficiantly as possible.
The "hover" buttons only re-load when the mouse if moved, if the mouse dosn't move since it's on or off them they will not try to reload. They also only try and load if the other sprite is drawn and then the update occurs.




