JPanel ground = new JPanel();
ground.setOpaque( true );
ground.setBackground( Color.DARK_GRAY );
contentPane.add( ground, JLayeredPane.DEFAULT_LAYER );
AlphaPanel alphaPanel = new AlphaPanel();
alphaPanel.setLayout( new BorderLayout() );
alphaPanel.setAlpha( 0f );
contentPane.add( alphaPanel, JLayeredPane.PALETTE_LAYER );
JPanel exampleFadePanel = new JPanel( new BorderLayout() );
exampleFadePanel.setOpaque( false );
exampleFadePanel.setBorder( new CompoundBorder( new EmptyBorder( 20, 20, 20, 20 ), BorderFactory.createBevelBorder( BevelBorder.LOWERED ) ) );
alphaPanel.add( exampleFadePanel, BorderLayout.CENTER );
JLabel exampleLabel = new JLabel( "I'm the example" );
exampleLabel.setHorizontalAlignment( SwingUtilities.CENTER );
exampleLabel.setVerticalAlignment( SwingUtilities.CENTER );
exampleLabel.setBackground( Color.BLACK );
exampleLabel.setOpaque( true );
exampleLabel.setForeground( Color.RED );
exampleFadePanel.add( exampleLabel, BorderLayout.CENTER );
final SlidePanel slidePanel = new SlidePanel( DIRECTION.fromLeft );
slidePanel.setLayout( new BorderLayout() );
contentPane.add( slidePanel, JLayeredPane.POPUP_LAYER );
JPanel slideInExample = new JPanel( new BorderLayout() );
slidePanel.add( slideInExample, BorderLayout.CENTER );
slideInExample.setBackground( Color.BLUE );
slideInExample.setOpaque( true );
slideInExample.setBorder( BorderFactory.createLineBorder( Color.red, 2 ) );
exampleLabel = new JLabel( "Sliding in and out ..." );
exampleLabel.setHorizontalAlignment( SwingUtilities.CENTER );
exampleLabel.setVerticalAlignment( SwingUtilities.CENTER );
exampleLabel.setForeground( Color.RED );
slideInExample.add( exampleLabel, BorderLayout.CENTER );
setSize( 400, 300 );
setVisible( true );
Toolkit.getDefaultToolkit().setDynamicLayout( true );
Rectangle r = new Rectangle( 0, 0, contentPane.getWidth(), contentPane.getHeight() );
ground.setBounds( r );
alphaPanel.setBounds( r );
slidePanel.setBounds( 0, 0, 200, contentPane.getHeight() );
DefaultAnimationRunner runner = new DefaultAnimationRunner();
AlphaPanelAnimation fadeIn = new AlphaPanelAnimation( alphaPanel, 1f );
fadeIn.setStartOffset( 1000 );