I hope that you managed to get it fixed after all this time, but it's late and I feel like solving problems.
The first thing I noticed was that in both moveLeft() and moveRight(), only the variable changes. The player itself doesn't. Apart from that, it should normally work, but I haven't tried it.
A few other notes:
- You can make Player extend Sprite. This makes it easier to manage as you will be dealing with the player as a drawable object and not as something which holds a drawable object. It's much more direct this way.
- You can put the getInput() function in the Player class as it doesn't rely on a RenderWindow and all the events are about the player. You would then call the method from the player object in the Main class.
- Don't make everything static! It's unnecessary. The way to avoid conflicts is to put what's in the main method into Main's constructor. You would then call new Main(); in the main method.
- Work on your naming conventions. It's a little hard to explain, but, for example, booleans should be in the form of questions. id est: isJumping, isAdded. There are other things, but it's a little hard to explain
Also, please refer to this for practicing good practice:
http://www.roxie.org/books/bleeding/appendices/ap01.html