I found the trick to create shawdow text on JLabel from java forum . Instead of use JLabel.setText() set string to JLabel, he create Image and get Graphics2D by Image.createGraphics(). Then use TextLayout draw overlapping string on that Graphics2D. example code int w = 500; int h = 120; Font font = new Font("Lucida Bright", Font.ITALIC, 72); String text = "Shadow Text"; BufferedImage image = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); adjustGraphics(g); //start off all white: g.setPaint(Color.WHITE); g.fillRect(0, 0, w, h); //draw "shadow" text: to be blurred next TextLayout textLayout = new TextLayout(text, font, g.getFontRenderContext()); g.setPaint(new Color(128,128,255)); textLayout.draw(g, 15, 105); g.dispose(); //blur the shadow: result is sorted in image...
Comments