You can generate images of text by using a BufferedImage... create a BufferedImage big enough for your text and then get the graphics context of the buffered image using getGraphics() or createGraphics(). use drawString() to paint the text onto your image.
You can make a subclass of BufferedImageOp to provide the distortion and run your image through it.
At this point you can pass your buffered image to an ImageIcon to put it up on a GUI, or you can use something like ImageIO to write an image file.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.