public boolean scrollToCard(String ID) {
        for (Component c : table.getComponents()) {
            if ((c.getClass().equals(TCard.class) || c.getClass().equals(Token.class))) {
                final TCard card = (TCard) c;
                if (card.getID().equals(ID)) {
                    SwingUtilities.invokeLater(new Runnable() {
                        public void run() {
                            Table.this.getHorizontalScrollBar().setValue(
                                    card.getBounds().x + TCard.W() / 2
                                    - Table.this.getWidth() / 2);
                            Table.this.getVerticalScrollBar().setValue(
                                    card.getBounds().y + TCard.H() / 2
                                    - Table.this.getHeight() / 2);
                        }
                    });
                    return true;
                }
            }
        }
        return false;
    }