I need a shadow under JLabel that use HTML to display its text. My implementation is:
/** Label with custom painting of alpha composite shadow. */ private static class CustomLabel extends JLabel{ public CustomLabel(){ setForeground( TEXT_COLOR ); } @Override protected void paintComponent( final Graphics in_Graphics ){ final Graphics2D graphics = ( Graphics2D ) in_Graphics; // Remember current graphics parameters final Object oldTextAntialiasingHint = graphics.getRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING ); final Color oldForeground = getForeground(); // Set rendering quality graphics.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON ); {// Paint the shadow final Graphics2D shadowGraphics = ( Graphics2D ) graphics.create(); shadowGraphics.translate( SHADOW_OFFSET_X, SHADOW_OFFSET_Y ); shadowGraphics.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC_OVER, 0.7f ) ); setForeground( SHADOW_COLOR ); super.paintComponent( shadowGraphics ); shadowGraphics.dispose(); } // Paint the text setForeground( oldForeground ); super.paintComponent( graphics ); // Restore rendering quality if( null != oldTextAntialiasingHint ){ graphics.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, oldTextAntialiasingHint ); } else{ // do nothing } } private static final Color TEXT_COLOR = Color.BLACK; private static final Color SHADOW_COLOR = Color.LIGHT_GRAY; private static final int SHADOW_OFFSET_X = 2; private static final int SHADOW_OFFSET_Y = 3; } Sems like hacking. Is there a better way? P.S. And also I need add some animation to it, but what animation library supports labels with HTML. [Message sent by forum member 'maksym_shostak' (maksym_shostak)] http://forums.java.net/jive/thread.jspa?messageID=229437 =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".