It would help if you would post a simple example program that demonstrates the problem. There could be several reasons. e.g lack of double buffering, rounding from float to int, etc.
Here is an example that shows movement interpolation. Java has support for that built in. But it can only be used when drawing Shape objects.
This draws two moving circles, the one at the bottom has it's movement interpolated automatically, the other does not.
However this kind of movement interpolation is not the same as the interpolation used when scaling images.
If you want to interpolate the movement of images it get's slightly more complicated since Graphics2D does not have a drawImage method that takes in floats or doubles. But it should be doable by scaling the graphics object e.g. by a factor of 0.1 and scaling the image you want to draw by 10 using scaling interpolation. That way you can specify the location to draw the image to 0.1 pixels.
How about AffineTransform translate on an image ? I read on stackoverflow that it can be used to do that or is it wrong?
Also I have edited my first post to include a demo as you asked ( http://filebin.ca/iESvMvnv9Cc/Main.jar