// Images panel
final WebPanel imagesPanel = new WebPanel ( new HorizontalFlowLayout ( 5, false ) );
// States switch buttons
final WebButton slideLeft = new WebButton ( loadIcon ( "left.png" ) );
slideLeft.addActionListener ( new ActionListener ()
{
@Override
public void actionPerformed ( ActionEvent e )
{
// Changing image positions in lsit
ImageIcon first = images.remove ( 0 );
images.add ( first );
// Performing transitions
performTransitions ( imagesPanel, images, Direction.left );
}
} );
final WebButton slideRight = new WebButton ( loadIcon ( "right.png" ) );
slideRight.addActionListener ( new ActionListener ()
{
@Override
public void actionPerformed ( ActionEvent e )
{
// Changing image positions in lsit
ImageIcon last = images.remove ( images.size () - 1 );
images.add ( 0, last );
// Performing transitions
performTransitions ( imagesPanel, images, Direction.right );
}
} );
final WebButtonGroup buttonGroup = new WebButtonGroup ( slideLeft, slideRight );
buttonGroup.setButtonsDrawFocus ( false );
// Transition panels
boolean first = true;
for ( ImageIcon image : images )
{
final ComponentTransition transition = new ComponentTransition ( new WebImage ( image ), createEffect () );
imagesPanel.add ( transition );
if ( first )
{
first = false;
transition.addTransitionListener ( new TransitionListener ()
{
@Override
public void transitionStarted ()
{
slideLeft.setEnabled ( false );
slideRight.setEnabled ( false );
}
@Override
public void transitionFinished ()
{
slideLeft.setEnabled ( true );
slideRight.setEnabled ( true );
}
} );
}
}