public void changePanel(EventPanelInfo epi) {
    JPanel newButtonPanel = new JPanel();
    label.setText("\n" + epi.getText());

    // format the text
    SimpleAttributeSet bSet = new SimpleAttributeSet();
    StyleConstants.setAlignment(bSet, StyleConstants.ALIGN_CENTER);
    StyleConstants.setFontFamily(bSet, "lucida typewriter bold");
    StyleConstants.setFontSize(bSet, 24);
    StyledDocument doc = label.getStyledDocument();
    doc.setParagraphAttributes(0, doc.getLength(), bSet, false);

    System.out.println("label.getText(): " + label.getText());

    int buttonCount = epi.getButtonCount();
    for (int i = 0; i < buttonCount; i++) {
      JButton button = epi.getButtonAtIndex(i);
      newButtonPanel.add(button);
    }
    master.remove(buttonPanel);
    buttonPanel = newButtonPanel;
    master.add(label, BorderLayout.CENTER);
    master.add(buttonPanel, BorderLayout.SOUTH);
  }
 @Override
 public void updatePlayer(ArrayList<PlayerStateEvent> playerStates) {
   int currentPlayerAccount = 0;
   int jailCardCount = 0;
   for (PlayerStateEvent pse : playerStates) {
     if (pse.hasTurnToken()) {
       currentPlayerAccount = pse.getAccount();
       jailCardCount = pse.getJailCard();
     }
   }
   int buttonCount = epi.getButtonCount();
   for (int i = 0; i < buttonCount; i++) {
     if (epi.getButtonAtIndex(i).getAmount() > currentPlayerAccount)
       epi.getButtonAtIndex(i).setEnabled(false);
     else if (epi.getButtonAtIndex(i).getAmount() > 0) epi.getButtonAtIndex(i).setEnabled(true);
     // if the amount is -100 this signals the button is for using a jail card
     if (epi.getButtonAtIndex(i).getAmount() == -100) {
       if (jailCardCount < 1) epi.getButtonAtIndex(i).setEnabled(false);
       else epi.getButtonAtIndex(i).setEnabled(true);
     }
   }
 }