package tim.prune.correlate;
import java.awt.CardLayout;
import java.awt.Component;
import javax.swing.JPanel;
/**
* Panel to act as a card stack
*/
public class CardStack extends JPanel
{
private int _numCards = 0;
private int _currCard = 0;
private CardLayout _layout = null;
private static final String cardName = "card";
/**
* Constructor
*/
public CardStack()
{
_layout = new CardLayout();
setLayout(_layout);
}
/**
* Add a card to the stack
* @param inComponent component to add
*/
public void addCard(Component inComponent)
{
super.add(inComponent, cardName + _numCards);
_numCards++;
}
/**
* @return current card index, starting from 0
*/
public int getCurrentCardIndex()
{
return _currCard;
}
/**
* @return number of cards in the stack
*/
public int getNumCards()
{
return _numCards;
}
/**
* Show the specified card
* @param inIndex index of card, starting from 0
*/
public void showCard(int inIndex)
{
if (inIndex >= 0 && inIndex < _numCards) {
_currCard = inIndex;
_layout.show(this, cardName + inIndex);
}
}
}