JPanels weren't working very well, changed code to use BufferedImage, pixel scaling is not quite right but just need to play with the numbers a bit I think.