Package com.barrybecker4.game.multiplayer.set.ui

Source Code of com.barrybecker4.game.multiplayer.set.ui.SetGeneralInfoPanel

// Copyright by Barry G. Becker, 2012. Licensed under MIT License: http://www.opensource.org/licenses/MIT
package com.barrybecker4.game.multiplayer.set.ui;

import com.barrybecker4.game.common.GameContext;
import com.barrybecker4.game.common.GameController;
import com.barrybecker4.game.common.player.Player;
import com.barrybecker4.game.common.ui.panel.GeneralInfoPanel;
import com.barrybecker4.game.common.ui.panel.InfoLabel;
import com.barrybecker4.game.common.ui.panel.RowEntryPanel;
import com.barrybecker4.game.common.ui.panel.SectionPanel;
import com.barrybecker4.game.multiplayer.set.SetBoard;

import javax.swing.*;


/**
*  Show information and statistics about the game.
*
@author Barry Becker
*/
class SetGeneralInfoPanel extends GeneralInfoPanel {


    private JLabel numSetsOnBoardLabel_;
    private JLabel numCardsRemainingLabel_;


    /**
     * Constructor
     */
    SetGeneralInfoPanel(Player player) {
        SectionPanel.styleSectionPanel(this, GameContext.getLabel("GENERAL_INFO"));

        JLabel numSetsOnBoardText = new InfoLabel(GameContext.getLabel("NUMBER_OF_SETS_ON_BOARD"));
        numSetsOnBoardLabel_ = new InfoLabel( " " );

        JLabel numCardsRemainingText = new InfoLabel( GameContext.getLabel("NUMBER_OF_CARDS_REMAINING"));
        numCardsRemainingLabel_ = new InfoLabel( " " );
        numCardsRemainingLabel_.setHorizontalAlignment(JLabel.LEFT);

        add(new RowEntryPanel(numSetsOnBoardText, numSetsOnBoardLabel_));
        add(new RowEntryPanel(numCardsRemainingText, numCardsRemainingLabel_));

        add(Box.createGlue());
    }

    @Override
    protected void setPlayerLabel(Player player) {
        assert false : "Did not expec this to be called";
    }

    /**
     * implements the GameChangedListener interface.
     * This method called whenever something on the board has changed.
     */
    @Override
    public void update(GameController controller) {

        SetBoard b = (SetBoard) controller.getBoard();
        numSetsOnBoardLabel_.setText( b.getNumSetsOnBoard() + " " );

        int cardsInDeck = b.getDeck().size() - b.getNumCardsShowing();
        numCardsRemainingLabel_.setText( cardsInDeck + " " );
    }
}
TOP

Related Classes of com.barrybecker4.game.multiplayer.set.ui.SetGeneralInfoPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.