protected BufferedImage makeImage() { BufferedImage image = new BufferedImage(IMAGE_SIZE, IMAGE_SIZE, BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = image.createGraphics(); g.setPaint(Color.WHITE); g.fill3DRect(0, 0, IMAGE_SIZE, IMAGE_SIZE, false); g.setPaint(Color.RED); g.setFont(Font.decode("ARIAL-BOLD-50")); g.drawString(Long.toString(++this.counter) + " frames", 10, IMAGE_SIZE / 4); g.drawString( Long.toString((System.currentTimeMillis() - start) / 1000) + " sec", 10, IMAGE_SIZE / 2); g.drawString( "Heap:" + Long.toString(Runtime.getRuntime().totalMemory()), 10, 3 * IMAGE_SIZE / 4); g.dispose(); return image; }