Read the javadoc of all these methods. They all take the name of a file as argument. So they will look on your hard drive, for the file <current directory>/res/player.png
.
But your image is not a file on the hard drive. It's a resource inside your jar file. You want to load this resource the same way as the classes in this jar file are loaded: using the ClassLoader. What you need is
ImageIcon image = new ImageIcon(SomeClassOfYourApp.class.getResource("/res/player.png"));
or
ImageIcon image = new ImageIcon(getClass().getClassLoader().getResource("res/player.png"));
That assumes that the path of the file inside the jar is /res/player.png
.