Blitting works with textures which are limited to a power of 2. That is of course a restriction. If you are sure, that you'll never want to or have to switch to the hardware renderer and that you don't need Java 1.1 compatibility, then you can work with the graphics-instance that the frame buffer provides to draw your own stuff using Java2D. You can even use Swing or AWT instead. However, once you decide to take the OpenGL-route instead, you'll get stuck...