
jadex.bdi.examples.blackjack.gui.GameStateFrame Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-applications-bdi Show documentation
Show all versions of jadex-applications-bdi Show documentation
The Jadex BDI applications package contain
several example applications, benchmarks and
testcases using BDI agents.
The newest version!
package jadex.bdi.examples.blackjack.gui;
import jadex.bdi.examples.blackjack.GameState;
import jadex.bdi.examples.blackjack.Player;
import jadex.commons.collection.SCollection;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import jadex.commons.beans.PropertyChangeEvent;
import jadex.commons.beans.PropertyChangeListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
/**
* This class represents the JPanel of one player as it is shown in the GUI.
*/
public class GameStateFrame extends JFrame
{
/** The dealers panel. */
protected PlayersPanel dealerpan;
/** The control panel. */
protected JPanel controlpanel;
/** The players panel. */
protected PlayersPanel playerpan;
/** The top panel. */
protected JPanel top;
//-------- constructors --------
/**
* Create a new game state panel.
*/
public GameStateFrame(final GameState gamestate, JPanel controlpan)
{
getContentPane().setLayout(new GridBagLayout());
dealerpan = new PlayersPanel();
dealerpan.setLayout(new GridLayout(1,1));
playerpan = new PlayersPanel();
playerpan.setLayout(new GridLayout(0, 2));
top = new JPanel(new GridLayout(1,2));
top.add(dealerpan);
setControlPanel(controlpan);
getContentPane().add(top, new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.WEST, GridBagConstraints.BOTH,
new Insets(0,0,0,0), 0, 0));
getContentPane().add(playerpan, new GridBagConstraints(0, 1, 1, 1, 3, 3, GridBagConstraints.WEST, GridBagConstraints.BOTH,
new Insets(0,0,0,0), 0, 0));
setGameState(gamestate);
}
/**
* Set the game state.
* @param gamestate The gamestate.
*/
public void setGameState(final GameState gamestate)
{
if(gamestate!=null)
{
gamestate.addPropertyChangeListener(new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent evt)
{
updatePanel(gamestate);
}
});
updatePanel(gamestate);
}
// todo: remove old
}
/**
*
*/
protected void updatePanel(GameState gamestate)
{
if(dealerpan.getPlayers().size()==0 && gamestate.getDealer()!=null)
dealerpan.addPlayer(gamestate.getDealer());
else if(gamestate.getDealer()!=null && !dealerpan.getPlayers().contains(gamestate.getDealer()))
dealerpan.replacePlayer((Player)dealerpan.getPlayers().get(0), gamestate.getDealer());
else if(gamestate.getDealer()==null && dealerpan.getPlayers().size()>0)
dealerpan.removePlayer((Player)dealerpan.getPlayers().get(0));
java.util.List curplayers = playerpan.getPlayers();
Player[] players = gamestate.getPlayers();
for(int i=0; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy