Thanks to @gthanop and @Abra for providing the answer, I'll summarize it here quickly:
You can call Image.getScaledInstance(width, height, hint)
to get a resized version of the image. However, if you provide it with Image.SCALE_SMOOTH
for the hint
argument, the image will be scaled down in a way that it keeps its "smoothness."