I made this for school,they wanted something with xml and it had to be oop. Use the arrow keys to move around, U will undo the last move (still somewhat buggy), L will restart the current level.
The game and levels can be found at:
http://aardbei.madoka.be/java/sokoban/sokoban.jar
http://aardbei.madoka.be/java/sokoban/levels.tgz
(ps: Got the graphics from ksokoban, source is in the jar)
Let me know what you think about it.