Program: 112811
Project: 112811
Buggy source:
/** 
 * Initialize the contents of the frame.
 */
private void initialize(){
  frame=new JFrame();
  frame.getContentPane().setBackground(HSColors.BACKGROUND_COLOR);
  frame.setBounds(100,100,960,640);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  SpringLayout springLayout=new SpringLayout();
  frame.getContentPane().setLayout(springLayout);
  JPanel Player0Panel=new JPanel();
  Player0Panel.setBorder(new MatteBorder(0,0,0,1,(Color)Color.GRAY));
  Player0Panel.setOpaque(false);
  Player0Panel.setBackground(Color.DARK_GRAY);
  springLayout.putConstraint(SpringLayout.NORTH,Player0Panel,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.WEST,Player0Panel,0,SpringLayout.WEST,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,Player0Panel,0,SpringLayout.SOUTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.EAST,Player0Panel,200,SpringLayout.WEST,frame.getContentPane());
  frame.getContentPane().add(Player0Panel);
  SpringLayout sl_Player0Panel=new SpringLayout();
  Player0Panel.setLayout(sl_Player0Panel);
  JPanel HeroPane_0=new JPanel();
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,HeroPane_0,50,SpringLayout.NORTH,Player0Panel);
  HeroPane_0.setOpaque(false);
  HeroPane_0.setBackground(Color.DARK_GRAY);
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,HeroPane_0,0,SpringLayout.NORTH,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.WEST,HeroPane_0,0,SpringLayout.WEST,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,HeroPane_0,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.NORTH,HeroPane_0,0,SpringLayout.NORTH,Player0Panel);
  springLayout.putConstraint(SpringLayout.WEST,HeroPane_0,0,SpringLayout.WEST,Player0Panel);
  springLayout.putConstraint(SpringLayout.SOUTH,HeroPane_0,50,SpringLayout.NORTH,Player0Panel);
  springLayout.putConstraint(SpringLayout.EAST,HeroPane_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(HeroPane_0);
  JScrollPane DeckPane_0=new JScrollPane();
  sl_Player0Panel.putConstraint(SpringLayout.WEST,DeckPane_0,5,SpringLayout.WEST,Player0Panel);
  DeckPane_0.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
  DeckPane_0.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  DeckPane_0.setOpaque(false);
  DeckPane_0.setBackground(Color.DARK_GRAY);
  DeckPane_0.setLayout(new ScrollPaneLayout());
  DeckPane_0.getViewport().setOpaque(false);
  DeckPane_0.setBorder(BorderFactory.createEmptyBorder());
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,DeckPane_0,0,SpringLayout.SOUTH,HeroPane_0);
  HeroPane_0.setLayout(null);
  lblHero_0=new JLabel("String_Node_Str");
  lblHero_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblHero_0.setBounds(0,0,200,50);
  lblHero_0.setFont(new Font("String_Node_Str",Font.PLAIN,20));
  lblHero_0.setForeground(Color.WHITE);
  HeroPane_0.add(lblHero_0);
  JButton btnDeckCreate_0=new HSDeckCreateButton();
  btnDeckCreate_0.setBounds(160,18,20,15);
  btnDeckCreate_0.setBackground(HSColors.BACKGROUND_COLOR);
  btnDeckCreate_0.setForeground(Color.WHITE);
  HeroPane_0.add(btnDeckCreate_0);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,DeckPane_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(DeckPane_0);
  JPanel ControlPane_0=new JPanel();
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,DeckPane_0,-20,SpringLayout.NORTH,ControlPane_0);
  ControlPane_0.setBackground(Color.DARK_GRAY);
  ControlPane_0.setOpaque(false);
  deckList_0=new HSCardList();
  deckList_0.setForeground(Color.WHITE);
  deckList_0.setBackground(HSColors.BACKGROUND_COLOR);
  deckList_0.setOpaque(false);
  DeckPane_0.setViewportView(deckList_0);
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,ControlPane_0,-40,SpringLayout.SOUTH,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.WEST,ControlPane_0,0,SpringLayout.WEST,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,ControlPane_0,0,SpringLayout.SOUTH,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,ControlPane_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(ControlPane_0);
  SpringLayout sl_ControlPane_0=new SpringLayout();
  ControlPane_0.setLayout(sl_ControlPane_0);
  HSButton p0_load=new HSButton("String_Node_Str");
  p0_load.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (fileChooser_ == null)       fileChooser_=new JFileChooser();
      int retVal=fileChooser_.showOpenDialog(frame);
      if (retVal == JFileChooser.APPROVE_OPTION) {
        try {
          DeckListFile deckList=new DeckListFile(fileChooser_.getSelectedFile().toPath());
          ((SortedListModel)deckList_0.getModel()).clear();
          for (int indx=0; indx < deckList.getDeck().getNumCards(); ++indx) {
            Card card=deckList.getDeck().drawCard(indx);
            ((SortedListModel)deckList_0.getModel()).addElement(IMPLEMENTED_CARD_LIST.getCardForClass(card.getClass()));
          }
          hsModel_.getSimulation().setDeck_p0(deckList.getDeck());
          hsModel_.getSimulation().setHero_p0(deckList.getHero());
          lblHero_0.setText(deckList.getHero().getName());
        }
 catch (        HSInvalidCardException|HSInvalidHeroException|IOException e1) {
          JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
        }
      }
    }
  }
);
  p0_load.setForeground(Color.WHITE);
  p0_load.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  p0_load.setPreferredSize(new Dimension(80,30));
  sl_ControlPane_0.putConstraint(SpringLayout.NORTH,p0_load,5,SpringLayout.NORTH,ControlPane_0);
  sl_ControlPane_0.putConstraint(SpringLayout.WEST,p0_load,5,SpringLayout.WEST,ControlPane_0);
  ControlPane_0.add(p0_load);
  JButton p0_save=new HSButton("String_Node_Str");
  p0_save.setForeground(Color.WHITE);
  p0_save.setBackground(HSColors.DISABLED_BUTTON_COLOR);
  sl_ControlPane_0.putConstraint(SpringLayout.EAST,p0_save,-5,SpringLayout.EAST,ControlPane_0);
  p0_save.setPreferredSize(new Dimension(80,30));
  sl_ControlPane_0.putConstraint(SpringLayout.NORTH,p0_save,5,SpringLayout.NORTH,ControlPane_0);
  ControlPane_0.add(p0_save);
  middlePanel=new JPanel();
  middlePanel.setForeground(Color.WHITE);
  middlePanel.setBackground(HSColors.BACKGROUND_COLOR);
  springLayout.putConstraint(SpringLayout.NORTH,ControlPane,-40,SpringLayout.SOUTH,middlePanel);
  springLayout.putConstraint(SpringLayout.WEST,ControlPane,0,SpringLayout.WEST,middlePanel);
  springLayout.putConstraint(SpringLayout.SOUTH,ControlPane,0,SpringLayout.SOUTH,middlePanel);
  springLayout.putConstraint(SpringLayout.EAST,ControlPane,0,SpringLayout.EAST,middlePanel);
  springLayout.putConstraint(SpringLayout.NORTH,middlePanel,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.WEST,middlePanel,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.SOUTH,middlePanel,0,SpringLayout.SOUTH,frame.getContentPane());
  frame.getContentPane().add(middlePanel);
  SpringLayout sl_middlePanel=new SpringLayout();
  sl_middlePanel.putConstraint(SpringLayout.NORTH,ControlPane,-40,SpringLayout.SOUTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.WEST,ControlPane,0,SpringLayout.WEST,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.SOUTH,ControlPane,0,SpringLayout.SOUTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.EAST,ControlPane,0,SpringLayout.EAST,middlePanel);
  middlePanel.setLayout(sl_middlePanel);
  JPanel InfoPane=new JPanel();
  sl_middlePanel.putConstraint(SpringLayout.NORTH,InfoPane,0,SpringLayout.NORTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.WEST,InfoPane,0,SpringLayout.WEST,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.SOUTH,InfoPane,240,SpringLayout.NORTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.EAST,InfoPane,0,SpringLayout.EAST,middlePanel);
  springLayout.putConstraint(SpringLayout.NORTH,InfoPane,0,SpringLayout.NORTH,middlePanel);
  springLayout.putConstraint(SpringLayout.WEST,InfoPane,0,SpringLayout.WEST,middlePanel);
  springLayout.putConstraint(SpringLayout.SOUTH,InfoPane,250,SpringLayout.NORTH,middlePanel);
  springLayout.putConstraint(SpringLayout.EAST,InfoPane,0,SpringLayout.EAST,middlePanel);
  middlePanel.add(InfoPane);
  InfoPane.setOpaque(false);
  SpringLayout sl_InfoPane=new SpringLayout();
  InfoPane.setLayout(sl_InfoPane);
  JPanel Player0Info=new JPanel();
  sl_InfoPane.putConstraint(SpringLayout.WEST,Player0Info,25,SpringLayout.WEST,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.SOUTH,Player0Info,-5,SpringLayout.SOUTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.EAST,Player0Info,170,SpringLayout.WEST,InfoPane);
  Player0Info.setOpaque(false);
  sl_InfoPane.putConstraint(SpringLayout.NORTH,Player0Info,5,SpringLayout.NORTH,InfoPane);
  InfoPane.add(Player0Info);
  JLabel lblLabel1_0=new JLabel("String_Node_Str");
  lblLabel1_0.setFont(new Font("String_Node_Str",Font.PLAIN,18));
  lblLabel1_0.setForeground(Color.WHITE);
  Player0Info.add(lblLabel1_0);
  Component rigidArea_2=Box.createRigidArea(new Dimension(20,20));
  rigidArea_2.setPreferredSize(new Dimension(135,10));
  Player0Info.add(rigidArea_2);
  lblWin_0=new JLabel("String_Node_Str");
  lblWin_0.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWin_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblWin_0.setPreferredSize(new Dimension(135,40));
  lblWin_0.setForeground(Color.WHITE);
  Player0Info.add(lblWin_0);
  Component rigidArea_1=Box.createRigidArea(new Dimension(20,10));
  rigidArea_1.setPreferredSize(new Dimension(135,2));
  Player0Info.add(rigidArea_1);
  lblWinRate_0=new JLabel("String_Node_Str");
  lblWinRate_0.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWinRate_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblWinRate_0.setHorizontalTextPosition(SwingConstants.CENTER);
  lblWinRate_0.setForeground(Color.WHITE);
  lblWinRate_0.setPreferredSize(new Dimension(135,40));
  Player0Info.add(lblWinRate_0);
  Component rigidArea=Box.createRigidArea(new Dimension(20,20));
  rigidArea.setPreferredSize(new Dimension(135,20));
  Player0Info.add(rigidArea);
  JLabel lblConf_0=new JLabel("String_Node_Str");
  lblConf_0.setForeground(Color.WHITE);
  lblConf_0.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  Player0Info.add(lblConf_0);
  lblConfNum_0=new JLabel("String_Node_Str");
  lblConfNum_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblConfNum_0.setPreferredSize(new Dimension(135,30));
  lblConfNum_0.setFont(new Font("String_Node_Str",Font.PLAIN,16));
  lblConfNum_0.setForeground(Color.WHITE);
  Player0Info.add(lblConfNum_0);
  JPanel Player1Info=new JPanel();
  sl_InfoPane.putConstraint(SpringLayout.WEST,Player1Info,-170,SpringLayout.EAST,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.EAST,Player1Info,-25,SpringLayout.EAST,InfoPane);
  Player1Info.setOpaque(false);
  sl_InfoPane.putConstraint(SpringLayout.NORTH,Player1Info,5,SpringLayout.NORTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.SOUTH,Player1Info,-5,SpringLayout.SOUTH,InfoPane);
  InfoPane.add(Player1Info);
  JLabel lblLabel1_1=new JLabel("String_Node_Str");
  lblLabel1_1.setFont(new Font("String_Node_Str",Font.PLAIN,18));
  lblLabel1_1.setForeground(Color.WHITE);
  Player1Info.add(lblLabel1_1);
  Component rigidArea_1_0=Box.createRigidArea(new Dimension(20,20));
  rigidArea_1_0.setPreferredSize(new Dimension(135,10));
  Player1Info.add(rigidArea_1_0);
  lblWin_1=new JLabel("String_Node_Str");
  lblWin_1.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWin_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblWin_1.setPreferredSize(new Dimension(135,40));
  lblWin_1.setForeground(Color.WHITE);
  Player1Info.add(lblWin_1);
  Component rigidArea_1_1=Box.createRigidArea(new Dimension(20,20));
  rigidArea_1_1.setPreferredSize(new Dimension(135,2));
  Player1Info.add(rigidArea_1_1);
  lblWinRate_1=new JLabel("String_Node_Str");
  lblWinRate_1.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWinRate_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblWinRate_1.setHorizontalTextPosition(SwingConstants.CENTER);
  lblWinRate_1.setForeground(Color.WHITE);
  lblWinRate_1.setPreferredSize(new Dimension(135,40));
  Player1Info.add(lblWinRate_1);
  Component rigidArea_0_2=Box.createRigidArea(new Dimension(20,20));
  rigidArea_0_2.setPreferredSize(new Dimension(135,20));
  Player1Info.add(rigidArea_0_2);
  JLabel lblConf_1=new JLabel("String_Node_Str");
  lblConf_1.setForeground(Color.WHITE);
  lblConf_1.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  Player1Info.add(lblConf_1);
  lblConfNum_1=new JLabel("String_Node_Str");
  lblConfNum_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblConfNum_1.setPreferredSize(new Dimension(135,30));
  lblConfNum_1.setFont(new Font("String_Node_Str",Font.PLAIN,16));
  lblConfNum_1.setForeground(Color.WHITE);
  Player1Info.add(lblConfNum_1);
  JPanel generalInfo=new JPanel();
  generalInfo.setForeground(Color.WHITE);
  generalInfo.setBackground(HSColors.BACKGROUND_COLOR);
  sl_InfoPane.putConstraint(SpringLayout.NORTH,generalInfo,0,SpringLayout.NORTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.WEST,generalInfo,0,SpringLayout.EAST,Player0Info);
  sl_InfoPane.putConstraint(SpringLayout.SOUTH,generalInfo,0,SpringLayout.SOUTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.EAST,generalInfo,0,SpringLayout.WEST,Player1Info);
  InfoPane.add(generalInfo);
  JPanel Player1Panel=new JPanel();
  springLayout.putConstraint(SpringLayout.EAST,middlePanel,0,SpringLayout.WEST,Player1Panel);
  JPanel PlotPane=new JPanel();
  sl_middlePanel.putConstraint(SpringLayout.NORTH,PlotPane,0,SpringLayout.SOUTH,InfoPane);
  sl_middlePanel.putConstraint(SpringLayout.WEST,PlotPane,0,SpringLayout.WEST,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.SOUTH,PlotPane,0,SpringLayout.NORTH,ControlPane);
  sl_middlePanel.putConstraint(SpringLayout.EAST,PlotPane,0,SpringLayout.EAST,middlePanel);
  springLayout.putConstraint(SpringLayout.NORTH,PlotPane,0,SpringLayout.SOUTH,InfoPane);
  springLayout.putConstraint(SpringLayout.WEST,PlotPane,0,SpringLayout.WEST,middlePanel);
  springLayout.putConstraint(SpringLayout.SOUTH,PlotPane,0,SpringLayout.NORTH,middlePanel);
  springLayout.putConstraint(SpringLayout.EAST,PlotPane,0,SpringLayout.EAST,middlePanel);
  middlePanel.add(PlotPane);
  PlotPane.setBorder(null);
  PlotPane.setOpaque(false);
  SpringLayout sl_PlotPane=new SpringLayout();
  PlotPane.setLayout(sl_PlotPane);
  JPanel plotTabPane=new JPanel();
  sl_PlotPane.putConstraint(SpringLayout.SOUTH,plotTabPane,20,SpringLayout.NORTH,PlotPane);
  FlowLayout flowLayout=(FlowLayout)plotTabPane.getLayout();
  flowLayout.setVgap(1);
  flowLayout.setHgap(1);
  plotTabPane.setBackground(HSColors.BACKGROUND_COLOR);
  sl_PlotPane.putConstraint(SpringLayout.NORTH,plotTabPane,0,SpringLayout.NORTH,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.WEST,plotTabPane,0,SpringLayout.WEST,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.EAST,plotTabPane,0,SpringLayout.EAST,PlotPane);
  PlotPane.add(plotTabPane);
  plotCardPane=new JPanel();
  sl_PlotPane.putConstraint(SpringLayout.NORTH,plotCardPane,0,SpringLayout.SOUTH,plotTabPane);
  HSTabButton tabAveMinions=new HSTabButton("String_Node_Str");
  tabAveMinions.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      CardLayout cl=(CardLayout)(plotCardPane.getLayout());
      cl.show(plotCardPane,"String_Node_Str");
    }
  }
);
  tabAveMinions.setBorder(null);
  tabAveMinions.setFont(new Font("String_Node_Str",Font.PLAIN,10));
  tabAveMinions.setBackground(HSColors.WARNING_BUTTON_COLOR);
  tabAveMinions.setForeground(Color.WHITE);
  plotTabPane.add(tabAveMinions);
  HSTabButton tabAveCards=new HSTabButton("String_Node_Str");
  tabAveCards.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      CardLayout cl=(CardLayout)(plotCardPane.getLayout());
      cl.show(plotCardPane,"String_Node_Str");
    }
  }
);
  tabAveCards.setBorder(null);
  tabAveCards.setFont(new Font("String_Node_Str",Font.PLAIN,10));
  tabAveCards.setBackground(HSColors.WARNING_BUTTON_COLOR);
  tabAveCards.setForeground(Color.WHITE);
  plotTabPane.add(tabAveCards);
  sl_PlotPane.putConstraint(SpringLayout.WEST,plotCardPane,0,SpringLayout.WEST,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.SOUTH,plotCardPane,0,SpringLayout.SOUTH,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.EAST,plotCardPane,0,SpringLayout.EAST,PlotPane);
  PlotPane.add(plotCardPane);
  plotCardPane.setLayout(new CardLayout(0,0));
  plot_aveMinions=new Plot();
  FlowLayout flowLayout_1=(FlowLayout)plot_aveMinions.getLayout();
  flowLayout_1.setVgap(0);
  plot_aveMinions.setYRange(0,6.0);
  plot_aveMinions.setXRange(0,30.0);
  plot_aveMinions.setTitle("String_Node_Str");
  plot_aveMinions.addLegend(0,"String_Node_Str");
  plot_aveMinions.addLegend(1,"String_Node_Str");
  plot_aveMinions.setXLabel("String_Node_Str");
  plot_aveMinions.setBackground(HSColors.BACKGROUND_COLOR);
  plot_aveMinions.setForeground(Color.WHITE);
  plot_aveMinions.setGrid(false);
  plot_aveMinions.setLabelFont("String_Node_Str");
  plotCardPane.add(plot_aveMinions,"String_Node_Str");
  plot_aveCards=new Plot();
  FlowLayout flowLayout_2=(FlowLayout)plot_aveCards.getLayout();
  flowLayout_2.setVgap(0);
  plot_aveCards.setYRange(0,6.0);
  plot_aveCards.setXRange(0,30.0);
  plot_aveCards.setTitle("String_Node_Str");
  plot_aveCards.addLegend(0,"String_Node_Str");
  plot_aveCards.addLegend(1,"String_Node_Str");
  plot_aveCards.setXLabel("String_Node_Str");
  plot_aveCards.setBackground(HSColors.BACKGROUND_COLOR);
  plot_aveCards.setForeground(Color.WHITE);
  plot_aveCards.setGrid(false);
  plot_aveCards.setLabelFont("String_Node_Str");
  plotCardPane.add(plot_aveCards,"String_Node_Str");
  middlePanel.add(ControlPane);
  ControlPane.setOpaque(false);
  HSButton btnSetting=new HSButton("String_Node_Str");
  btnSetting.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      HSSimulationSettingsFrame settingsFrame=new HSSimulationSettingsFrame(frame,hsModel_.getSimulation());
      settingsFrame.setVisible(true);
    }
  }
);
  btnSetting.setForeground(Color.WHITE);
  btnSetting.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  ControlPane.add(btnSetting);
  Component rigidArea_3=Box.createRigidArea(new Dimension(20,20));
  rigidArea_3.setPreferredSize(new Dimension(100,20));
  ControlPane.add(rigidArea_3);
  HSButton btnReset=new HSButton("String_Node_Str");
  btnReset.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      hsModel_.resetSimulationResults();
      HearthSim.this.updatePlotPanel();
      HearthSim.this.updateInfoPanel();
    }
  }
);
  btnReset.setForeground(Color.WHITE);
  btnReset.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  ControlPane.add(btnReset);
  btnRun=new HSButton("String_Node_Str");
  btnRun.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (hsModel_.getSimulation().getDeck_p0() == null) {
        JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
        return;
      }
      if (hsModel_.getSimulation().getDeck_p1() == null) {
        JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
        return;
      }
      Runnable runner=new Runnable(){
        public void run(){
          hsModel_.runSimulation();
        }
      }
;
      new Thread(runner).start();
    }
  }
);
  btnRun.setBackground(HSColors.SUCCESS_BUTTON_COLOR);
  btnRun.setForeground(Color.WHITE);
  ControlPane.add(btnRun);
  Player1Panel.setBorder(new MatteBorder(0,1,0,0,(Color)Color.GRAY));
  Player1Panel.setOpaque(false);
  springLayout.putConstraint(SpringLayout.NORTH,Player1Panel,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.WEST,Player1Panel,-200,SpringLayout.EAST,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,Player1Panel,0,SpringLayout.SOUTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.EAST,Player1Panel,0,SpringLayout.EAST,frame.getContentPane());
  frame.getContentPane().add(Player1Panel);
  SpringLayout sl_Player1Panel=new SpringLayout();
  Player1Panel.setLayout(sl_Player1Panel);
  JPanel HeroPane_1=new JPanel();
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,HeroPane_1,50,SpringLayout.NORTH,Player1Panel);
  HeroPane_1.setOpaque(false);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,HeroPane_1,0,SpringLayout.NORTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,HeroPane_1,0,SpringLayout.WEST,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,HeroPane_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(HeroPane_1);
  JButton btnDeckCreate_1=new HSDeckCreateButton();
  btnDeckCreate_1.setBounds(20,18,20,15);
  btnDeckCreate_1.setBackground(HSColors.BACKGROUND_COLOR);
  btnDeckCreate_1.setForeground(Color.WHITE);
  HeroPane_1.add(btnDeckCreate_1);
  JScrollPane DeckPane_1=new JScrollPane();
  sl_Player1Panel.putConstraint(SpringLayout.WEST,DeckPane_1,5,SpringLayout.WEST,Player1Panel);
  DeckPane_1.setOpaque(false);
  DeckPane_1.setBackground(Color.DARK_GRAY);
  DeckPane_1.setLayout(new ScrollPaneLayout());
  DeckPane_1.getViewport().setOpaque(false);
  DeckPane_1.setBorder(BorderFactory.createEmptyBorder());
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,DeckPane_1,0,SpringLayout.SOUTH,HeroPane_1);
  HeroPane_1.setLayout(null);
  lblHero_1=new JLabel("String_Node_Str");
  lblHero_1.setBounds(0,0,200,50);
  lblHero_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblHero_1.setForeground(Color.WHITE);
  lblHero_1.setFont(new Font("String_Node_Str",Font.PLAIN,20));
  HeroPane_1.add(lblHero_1);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,DeckPane_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(DeckPane_1);
  JPanel ControlPane_1=new JPanel();
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,DeckPane_1,-20,SpringLayout.NORTH,ControlPane_1);
  ControlPane_1.setOpaque(false);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,ControlPane_1,-40,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,ControlPane_1,0,SpringLayout.WEST,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,ControlPane_1,0,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,ControlPane_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(ControlPane_1);
  SpringLayout sl_ControlPane_1=new SpringLayout();
  ControlPane_1.setLayout(sl_ControlPane_1);
  deckList_1=new HSCardList();
  deckList_1.setForeground(Color.WHITE);
  deckList_1.setBackground(HSColors.BACKGROUND_COLOR);
  deckList_1.setOpaque(false);
  DeckPane_1.setViewportView(deckList_1);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,ControlPane_1,-40,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,ControlPane_1,0,SpringLayout.WEST,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,ControlPane_1,0,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,ControlPane_1,0,SpringLayout.EAST,Player1Panel);
  HSButton p1_Load=new HSButton("String_Node_Str");
  p1_Load.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (fileChooser_ == null)       fileChooser_=new JFileChooser();
      int retVal=fileChooser_.showOpenDialog(frame);
      if (retVal == JFileChooser.APPROVE_OPTION) {
        try {
          DeckListFile deckList=new DeckListFile(fileChooser_.getSelectedFile().toPath());
          ((SortedListModel)deckList_1.getModel()).clear();
          for (int indx=0; indx < deckList.getDeck().getNumCards(); ++indx) {
            Card card=deckList.getDeck().drawCard(indx);
            ((SortedListModel)deckList_1.getModel()).addElement(IMPLEMENTED_CARD_LIST.getCardForClass(card.getClass()));
          }
          hsModel_.getSimulation().setDeck_p1(deckList.getDeck());
          hsModel_.getSimulation().setHero_p1(deckList.getHero());
          lblHero_1.setText(deckList.getHero().getName());
        }
 catch (        HSInvalidCardException|HSInvalidHeroException|IOException e1) {
          JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
        }
      }
    }
  }
);
  sl_ControlPane_1.putConstraint(SpringLayout.NORTH,p1_Load,5,SpringLayout.NORTH,ControlPane_1);
  sl_ControlPane_1.putConstraint(SpringLayout.WEST,p1_Load,5,SpringLayout.WEST,ControlPane_1);
  p1_Load.setPreferredSize(new Dimension(80,30));
  p1_Load.setForeground(Color.WHITE);
  p1_Load.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  ControlPane_1.add(p1_Load);
  JButton p1_save=new HSButton("String_Node_Str");
  p1_save.setForeground(Color.WHITE);
  p1_save.setBackground(HSColors.DISABLED_BUTTON_COLOR);
  p1_save.setPreferredSize(new Dimension(80,30));
  sl_ControlPane_1.putConstraint(SpringLayout.EAST,p1_save,-5,SpringLayout.EAST,ControlPane_1);
  sl_ControlPane_1.putConstraint(SpringLayout.NORTH,p1_save,5,SpringLayout.NORTH,ControlPane_1);
  ControlPane_1.add(p1_save);
  JPanel cardCountPanel_0=new JPanel();
  cardCountPanel_0.setBackground(HSColors.BACKGROUND_COLOR);
  cardCountPanel_0.setForeground(HSColors.TEXT_COLOR);
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,cardCountPanel_0,0,SpringLayout.SOUTH,DeckPane_0);
  sl_Player0Panel.putConstraint(SpringLayout.WEST,cardCountPanel_0,0,SpringLayout.WEST,DeckPane_0);
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,cardCountPanel_0,0,SpringLayout.NORTH,ControlPane_0);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,cardCountPanel_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(cardCountPanel_0);
  cardCountPanel_0.setLayout(null);
  cardCount_0=new JLabel("String_Node_Str");
  cardCount_0.setHorizontalAlignment(SwingConstants.CENTER);
  cardCount_0.setBounds(0,0,195,20);
  cardCount_0.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  cardCount_0.setForeground(HSColors.TEXT_COLOR);
  cardCountPanel_0.add(cardCount_0);
  JPanel cardCountPanel_1=new JPanel();
  cardCountPanel_1.setBackground(HSColors.BACKGROUND_COLOR);
  cardCountPanel_1.setForeground(HSColors.TEXT_COLOR);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,cardCountPanel_1,0,SpringLayout.SOUTH,DeckPane_1);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,cardCountPanel_1,0,SpringLayout.WEST,DeckPane_1);
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,cardCountPanel_1,0,SpringLayout.NORTH,ControlPane_1);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,cardCountPanel_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(cardCountPanel_1);
  cardCountPanel_1.setLayout(null);
  cardCount_1=new JLabel("String_Node_Str");
  cardCount_1.setHorizontalAlignment(SwingConstants.CENTER);
  cardCount_1.setBounds(0,0,195,20);
  cardCount_1.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  cardCount_1.setForeground(HSColors.TEXT_COLOR);
  cardCountPanel_1.add(cardCount_1);
  deckList_0.getModel().addListDataListener(new ListDataListener(){
    @Override public void intervalAdded(    ListDataEvent e){
    }
    @Override public void intervalRemoved(    ListDataEvent e){
    }
    @Override public void contentsChanged(    ListDataEvent e){
      cardCount_0.setText(deckList_0.getModel().getSize() + "String_Node_Str");
    }
  }
);
  deckList_1.getModel().addListDataListener(new ListDataListener(){
    @Override public void intervalAdded(    ListDataEvent e){
    }
    @Override public void intervalRemoved(    ListDataEvent e){
    }
    @Override public void contentsChanged(    ListDataEvent e){
      cardCount_1.setText(deckList_1.getModel().getSize() + "String_Node_Str");
    }
  }
);
  btnDeckCreate_0.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (middlePanel.isVisible()) {
        middlePanel.setVisible(false);
        deckCreatePanel_0.setVisible(true);
        deckCreatePanel_0.setEditing(true);
      }
 else       if (deckCreatePanel_0.isVisible()) {
        middlePanel.setVisible(true);
        deckCreatePanel_0.setVisible(false);
        deckCreatePanel_0.setEditing(false);
        if (deckList_0.getModel().getSize() > 0)         hsModel_.getSimulation().setDeck_p0(deckList_0.getDeck());
      }
    }
  }
);
  btnDeckCreate_1.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (middlePanel.isVisible()) {
        middlePanel.setVisible(false);
        deckCreatePanel_1.setVisible(true);
        deckCreatePanel_1.setEditing(true);
      }
 else       if (deckCreatePanel_1.isVisible()) {
        middlePanel.setVisible(true);
        deckCreatePanel_1.setVisible(false);
        deckCreatePanel_1.setEditing(false);
        if (deckList_1.getModel().getSize() > 0)         hsModel_.getSimulation().setDeck_p1(deckList_1.getDeck());
      }
    }
  }
);
  deckCreatePanel_0=new HSDeckCreatePanel();
  deckCreatePanel_0.setForeground(Color.WHITE);
  deckCreatePanel_0.setBackground(HSColors.LIGHTER_BACKGROUND_COLOR);
  springLayout.putConstraint(SpringLayout.WEST,deckCreatePanel_0,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.EAST,deckCreatePanel_0,0,SpringLayout.WEST,Player1Panel);
  springLayout.putConstraint(SpringLayout.NORTH,deckCreatePanel_0,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,deckCreatePanel_0,0,SpringLayout.SOUTH,frame.getContentPane());
  deckCreatePanel_0.setPlayer(0);
  deckCreatePanel_0.setVisible(false);
  deckCreatePanel_0.setCardListPane(deckList_0);
  frame.getContentPane().add(deckCreatePanel_0);
  deckCreatePanel_1=new HSDeckCreatePanel();
  deckCreatePanel_1.setForeground(Color.WHITE);
  deckCreatePanel_1.setBackground(HSColors.LIGHTER_BACKGROUND_COLOR);
  springLayout.putConstraint(SpringLayout.WEST,deckCreatePanel_1,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.EAST,deckCreatePanel_1,0,SpringLayout.WEST,Player1Panel);
  springLayout.putConstraint(SpringLayout.NORTH,deckCreatePanel_1,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,deckCreatePanel_1,0,SpringLayout.SOUTH,frame.getContentPane());
  deckCreatePanel_1.setPlayer(1);
  deckCreatePanel_1.setVisible(false);
  deckCreatePanel_1.setCardListPane(deckList_1);
  frame.getContentPane().add(deckCreatePanel_1);
}

Fixed version (ground truth):
/** 
 * Initialize the contents of the frame.
 */
private void initialize(){
  frame=new JFrame();
  frame.getContentPane().setBackground(HSColors.BACKGROUND_COLOR);
  frame.setBounds(100,100,960,640);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  SpringLayout springLayout=new SpringLayout();
  frame.getContentPane().setLayout(springLayout);
  JPanel Player0Panel=new JPanel();
  Player0Panel.setBorder(new MatteBorder(0,0,0,1,(Color)Color.GRAY));
  Player0Panel.setOpaque(false);
  Player0Panel.setBackground(Color.DARK_GRAY);
  springLayout.putConstraint(SpringLayout.NORTH,Player0Panel,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.WEST,Player0Panel,0,SpringLayout.WEST,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,Player0Panel,0,SpringLayout.SOUTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.EAST,Player0Panel,200,SpringLayout.WEST,frame.getContentPane());
  frame.getContentPane().add(Player0Panel);
  SpringLayout sl_Player0Panel=new SpringLayout();
  Player0Panel.setLayout(sl_Player0Panel);
  JPanel HeroPane_0=new JPanel();
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,HeroPane_0,50,SpringLayout.NORTH,Player0Panel);
  HeroPane_0.setOpaque(false);
  HeroPane_0.setBackground(Color.DARK_GRAY);
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,HeroPane_0,0,SpringLayout.NORTH,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.WEST,HeroPane_0,0,SpringLayout.WEST,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,HeroPane_0,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.NORTH,HeroPane_0,0,SpringLayout.NORTH,Player0Panel);
  springLayout.putConstraint(SpringLayout.WEST,HeroPane_0,0,SpringLayout.WEST,Player0Panel);
  springLayout.putConstraint(SpringLayout.SOUTH,HeroPane_0,50,SpringLayout.NORTH,Player0Panel);
  springLayout.putConstraint(SpringLayout.EAST,HeroPane_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(HeroPane_0);
  JScrollPane DeckPane_0=new JScrollPane();
  sl_Player0Panel.putConstraint(SpringLayout.WEST,DeckPane_0,5,SpringLayout.WEST,Player0Panel);
  DeckPane_0.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
  DeckPane_0.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  DeckPane_0.setOpaque(false);
  DeckPane_0.setBackground(Color.DARK_GRAY);
  DeckPane_0.setLayout(new ScrollPaneLayout());
  DeckPane_0.getViewport().setOpaque(false);
  DeckPane_0.setBorder(BorderFactory.createEmptyBorder());
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,DeckPane_0,0,SpringLayout.SOUTH,HeroPane_0);
  HeroPane_0.setLayout(null);
  lblHero_0=new JLabel("String_Node_Str");
  lblHero_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblHero_0.setBounds(0,0,200,50);
  lblHero_0.setFont(new Font("String_Node_Str",Font.PLAIN,20));
  lblHero_0.setForeground(Color.WHITE);
  HeroPane_0.add(lblHero_0);
  JButton btnDeckCreate_0=new HSDeckCreateButton();
  btnDeckCreate_0.setBounds(160,18,20,15);
  btnDeckCreate_0.setBackground(HSColors.BACKGROUND_COLOR);
  btnDeckCreate_0.setForeground(Color.WHITE);
  HeroPane_0.add(btnDeckCreate_0);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,DeckPane_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(DeckPane_0);
  JPanel ControlPane_0=new JPanel();
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,DeckPane_0,-20,SpringLayout.NORTH,ControlPane_0);
  ControlPane_0.setBackground(Color.DARK_GRAY);
  ControlPane_0.setOpaque(false);
  deckList_0=new HSCardList();
  deckList_0.setForeground(Color.WHITE);
  deckList_0.setBackground(HSColors.BACKGROUND_COLOR);
  deckList_0.setOpaque(false);
  DeckPane_0.setViewportView(deckList_0);
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,ControlPane_0,-40,SpringLayout.SOUTH,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.WEST,ControlPane_0,0,SpringLayout.WEST,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,ControlPane_0,0,SpringLayout.SOUTH,Player0Panel);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,ControlPane_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(ControlPane_0);
  SpringLayout sl_ControlPane_0=new SpringLayout();
  ControlPane_0.setLayout(sl_ControlPane_0);
  HSButton p0_load=new HSButton("String_Node_Str");
  p0_load.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (fileChooser_ == null)       fileChooser_=new JFileChooser();
      int retVal=fileChooser_.showOpenDialog(frame);
      if (retVal == JFileChooser.APPROVE_OPTION) {
        try {
          DeckListFile deckList=new DeckListFile(fileChooser_.getSelectedFile().toPath());
          ((SortedListModel)deckList_0.getModel()).clear();
          for (int indx=0; indx < deckList.getDeck().getNumCards(); ++indx) {
            Card card=deckList.getDeck().drawCard(indx);
            ((SortedListModel)deckList_0.getModel()).addElement(IMPLEMENTED_CARD_LIST.getCardForClass(card.getClass()));
          }
          hsModel_.getSimulation().setDeck_p0(deckList.getDeck());
          hsModel_.getSimulation().setHero_p0(deckList.getHero());
          lblHero_0.setText(deckList.getHero().getName());
        }
 catch (        HSInvalidCardException|HSInvalidHeroException|IOException e1) {
          JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
        }
      }
    }
  }
);
  p0_load.setForeground(Color.WHITE);
  p0_load.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  p0_load.setPreferredSize(new Dimension(80,30));
  sl_ControlPane_0.putConstraint(SpringLayout.NORTH,p0_load,5,SpringLayout.NORTH,ControlPane_0);
  sl_ControlPane_0.putConstraint(SpringLayout.WEST,p0_load,5,SpringLayout.WEST,ControlPane_0);
  ControlPane_0.add(p0_load);
  JButton p0_save=new HSButton("String_Node_Str");
  p0_save.setForeground(Color.WHITE);
  p0_save.setBackground(HSColors.DISABLED_BUTTON_COLOR);
  sl_ControlPane_0.putConstraint(SpringLayout.EAST,p0_save,-5,SpringLayout.EAST,ControlPane_0);
  p0_save.setPreferredSize(new Dimension(80,30));
  sl_ControlPane_0.putConstraint(SpringLayout.NORTH,p0_save,5,SpringLayout.NORTH,ControlPane_0);
  ControlPane_0.add(p0_save);
  middlePanel=new JPanel();
  middlePanel.setForeground(Color.WHITE);
  middlePanel.setBackground(HSColors.BACKGROUND_COLOR);
  springLayout.putConstraint(SpringLayout.NORTH,ControlPane,-40,SpringLayout.SOUTH,middlePanel);
  springLayout.putConstraint(SpringLayout.WEST,ControlPane,0,SpringLayout.WEST,middlePanel);
  springLayout.putConstraint(SpringLayout.SOUTH,ControlPane,0,SpringLayout.SOUTH,middlePanel);
  springLayout.putConstraint(SpringLayout.EAST,ControlPane,0,SpringLayout.EAST,middlePanel);
  springLayout.putConstraint(SpringLayout.NORTH,middlePanel,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.WEST,middlePanel,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.SOUTH,middlePanel,0,SpringLayout.SOUTH,frame.getContentPane());
  frame.getContentPane().add(middlePanel);
  SpringLayout sl_middlePanel=new SpringLayout();
  sl_middlePanel.putConstraint(SpringLayout.NORTH,ControlPane,-40,SpringLayout.SOUTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.WEST,ControlPane,0,SpringLayout.WEST,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.SOUTH,ControlPane,0,SpringLayout.SOUTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.EAST,ControlPane,0,SpringLayout.EAST,middlePanel);
  middlePanel.setLayout(sl_middlePanel);
  JPanel InfoPane=new JPanel();
  sl_middlePanel.putConstraint(SpringLayout.NORTH,InfoPane,0,SpringLayout.NORTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.WEST,InfoPane,0,SpringLayout.WEST,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.SOUTH,InfoPane,240,SpringLayout.NORTH,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.EAST,InfoPane,0,SpringLayout.EAST,middlePanel);
  springLayout.putConstraint(SpringLayout.NORTH,InfoPane,0,SpringLayout.NORTH,middlePanel);
  springLayout.putConstraint(SpringLayout.WEST,InfoPane,0,SpringLayout.WEST,middlePanel);
  springLayout.putConstraint(SpringLayout.SOUTH,InfoPane,250,SpringLayout.NORTH,middlePanel);
  springLayout.putConstraint(SpringLayout.EAST,InfoPane,0,SpringLayout.EAST,middlePanel);
  middlePanel.add(InfoPane);
  InfoPane.setOpaque(false);
  SpringLayout sl_InfoPane=new SpringLayout();
  InfoPane.setLayout(sl_InfoPane);
  JPanel Player0Info=new JPanel();
  sl_InfoPane.putConstraint(SpringLayout.WEST,Player0Info,25,SpringLayout.WEST,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.SOUTH,Player0Info,-5,SpringLayout.SOUTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.EAST,Player0Info,170,SpringLayout.WEST,InfoPane);
  Player0Info.setOpaque(false);
  sl_InfoPane.putConstraint(SpringLayout.NORTH,Player0Info,5,SpringLayout.NORTH,InfoPane);
  InfoPane.add(Player0Info);
  JLabel lblLabel1_0=new JLabel("String_Node_Str");
  lblLabel1_0.setFont(new Font("String_Node_Str",Font.PLAIN,18));
  lblLabel1_0.setForeground(Color.WHITE);
  Player0Info.add(lblLabel1_0);
  Component rigidArea_2=Box.createRigidArea(new Dimension(20,20));
  rigidArea_2.setPreferredSize(new Dimension(135,10));
  Player0Info.add(rigidArea_2);
  lblWin_0=new JLabel("String_Node_Str");
  lblWin_0.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWin_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblWin_0.setPreferredSize(new Dimension(135,40));
  lblWin_0.setForeground(Color.WHITE);
  Player0Info.add(lblWin_0);
  Component rigidArea_1=Box.createRigidArea(new Dimension(20,10));
  rigidArea_1.setPreferredSize(new Dimension(135,2));
  Player0Info.add(rigidArea_1);
  lblWinRate_0=new JLabel("String_Node_Str");
  lblWinRate_0.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWinRate_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblWinRate_0.setHorizontalTextPosition(SwingConstants.CENTER);
  lblWinRate_0.setForeground(Color.WHITE);
  lblWinRate_0.setPreferredSize(new Dimension(135,40));
  Player0Info.add(lblWinRate_0);
  Component rigidArea=Box.createRigidArea(new Dimension(20,20));
  rigidArea.setPreferredSize(new Dimension(135,20));
  Player0Info.add(rigidArea);
  JLabel lblConf_0=new JLabel("String_Node_Str");
  lblConf_0.setForeground(Color.WHITE);
  lblConf_0.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  Player0Info.add(lblConf_0);
  lblConfNum_0=new JLabel("String_Node_Str");
  lblConfNum_0.setHorizontalAlignment(SwingConstants.CENTER);
  lblConfNum_0.setPreferredSize(new Dimension(135,30));
  lblConfNum_0.setFont(new Font("String_Node_Str",Font.PLAIN,16));
  lblConfNum_0.setForeground(Color.WHITE);
  Player0Info.add(lblConfNum_0);
  JPanel Player1Info=new JPanel();
  sl_InfoPane.putConstraint(SpringLayout.WEST,Player1Info,-170,SpringLayout.EAST,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.EAST,Player1Info,-25,SpringLayout.EAST,InfoPane);
  Player1Info.setOpaque(false);
  sl_InfoPane.putConstraint(SpringLayout.NORTH,Player1Info,5,SpringLayout.NORTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.SOUTH,Player1Info,-5,SpringLayout.SOUTH,InfoPane);
  InfoPane.add(Player1Info);
  JLabel lblLabel1_1=new JLabel("String_Node_Str");
  lblLabel1_1.setFont(new Font("String_Node_Str",Font.PLAIN,18));
  lblLabel1_1.setForeground(Color.WHITE);
  Player1Info.add(lblLabel1_1);
  Component rigidArea_1_0=Box.createRigidArea(new Dimension(20,20));
  rigidArea_1_0.setPreferredSize(new Dimension(135,10));
  Player1Info.add(rigidArea_1_0);
  lblWin_1=new JLabel("String_Node_Str");
  lblWin_1.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWin_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblWin_1.setPreferredSize(new Dimension(135,40));
  lblWin_1.setForeground(Color.WHITE);
  Player1Info.add(lblWin_1);
  Component rigidArea_1_1=Box.createRigidArea(new Dimension(20,20));
  rigidArea_1_1.setPreferredSize(new Dimension(135,2));
  Player1Info.add(rigidArea_1_1);
  lblWinRate_1=new JLabel("String_Node_Str");
  lblWinRate_1.setFont(new Font("String_Node_Str",Font.PLAIN,24));
  lblWinRate_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblWinRate_1.setHorizontalTextPosition(SwingConstants.CENTER);
  lblWinRate_1.setForeground(Color.WHITE);
  lblWinRate_1.setPreferredSize(new Dimension(135,40));
  Player1Info.add(lblWinRate_1);
  Component rigidArea_0_2=Box.createRigidArea(new Dimension(20,20));
  rigidArea_0_2.setPreferredSize(new Dimension(135,20));
  Player1Info.add(rigidArea_0_2);
  JLabel lblConf_1=new JLabel("String_Node_Str");
  lblConf_1.setForeground(Color.WHITE);
  lblConf_1.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  Player1Info.add(lblConf_1);
  lblConfNum_1=new JLabel("String_Node_Str");
  lblConfNum_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblConfNum_1.setPreferredSize(new Dimension(135,30));
  lblConfNum_1.setFont(new Font("String_Node_Str",Font.PLAIN,16));
  lblConfNum_1.setForeground(Color.WHITE);
  Player1Info.add(lblConfNum_1);
  JPanel generalInfo=new JPanel();
  generalInfo.setForeground(Color.WHITE);
  generalInfo.setBackground(HSColors.BACKGROUND_COLOR);
  sl_InfoPane.putConstraint(SpringLayout.NORTH,generalInfo,0,SpringLayout.NORTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.WEST,generalInfo,0,SpringLayout.EAST,Player0Info);
  sl_InfoPane.putConstraint(SpringLayout.SOUTH,generalInfo,0,SpringLayout.SOUTH,InfoPane);
  sl_InfoPane.putConstraint(SpringLayout.EAST,generalInfo,0,SpringLayout.WEST,Player1Info);
  InfoPane.add(generalInfo);
  JPanel Player1Panel=new JPanel();
  springLayout.putConstraint(SpringLayout.EAST,middlePanel,0,SpringLayout.WEST,Player1Panel);
  JPanel PlotPane=new JPanel();
  sl_middlePanel.putConstraint(SpringLayout.NORTH,PlotPane,0,SpringLayout.SOUTH,InfoPane);
  sl_middlePanel.putConstraint(SpringLayout.WEST,PlotPane,0,SpringLayout.WEST,middlePanel);
  sl_middlePanel.putConstraint(SpringLayout.SOUTH,PlotPane,0,SpringLayout.NORTH,ControlPane);
  sl_middlePanel.putConstraint(SpringLayout.EAST,PlotPane,0,SpringLayout.EAST,middlePanel);
  springLayout.putConstraint(SpringLayout.NORTH,PlotPane,0,SpringLayout.SOUTH,InfoPane);
  springLayout.putConstraint(SpringLayout.WEST,PlotPane,0,SpringLayout.WEST,middlePanel);
  springLayout.putConstraint(SpringLayout.SOUTH,PlotPane,0,SpringLayout.NORTH,middlePanel);
  springLayout.putConstraint(SpringLayout.EAST,PlotPane,0,SpringLayout.EAST,middlePanel);
  middlePanel.add(PlotPane);
  PlotPane.setBorder(null);
  PlotPane.setOpaque(false);
  SpringLayout sl_PlotPane=new SpringLayout();
  PlotPane.setLayout(sl_PlotPane);
  JPanel plotTabPane=new JPanel();
  sl_PlotPane.putConstraint(SpringLayout.SOUTH,plotTabPane,20,SpringLayout.NORTH,PlotPane);
  FlowLayout flowLayout=(FlowLayout)plotTabPane.getLayout();
  flowLayout.setVgap(1);
  flowLayout.setHgap(1);
  plotTabPane.setBackground(HSColors.BACKGROUND_COLOR);
  sl_PlotPane.putConstraint(SpringLayout.NORTH,plotTabPane,0,SpringLayout.NORTH,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.WEST,plotTabPane,0,SpringLayout.WEST,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.EAST,plotTabPane,0,SpringLayout.EAST,PlotPane);
  PlotPane.add(plotTabPane);
  plotCardPane=new JPanel();
  sl_PlotPane.putConstraint(SpringLayout.NORTH,plotCardPane,0,SpringLayout.SOUTH,plotTabPane);
  HSTabButton tabAveMinions=new HSTabButton("String_Node_Str");
  tabAveMinions.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      CardLayout cl=(CardLayout)(plotCardPane.getLayout());
      cl.show(plotCardPane,"String_Node_Str");
    }
  }
);
  tabAveMinions.setBorder(null);
  tabAveMinions.setFont(new Font("String_Node_Str",Font.PLAIN,10));
  tabAveMinions.setBackground(HSColors.WARNING_BUTTON_COLOR);
  tabAveMinions.setForeground(Color.WHITE);
  plotTabPane.add(tabAveMinions);
  HSTabButton tabAveCards=new HSTabButton("String_Node_Str");
  tabAveCards.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      CardLayout cl=(CardLayout)(plotCardPane.getLayout());
      cl.show(plotCardPane,"String_Node_Str");
    }
  }
);
  tabAveCards.setBorder(null);
  tabAveCards.setFont(new Font("String_Node_Str",Font.PLAIN,10));
  tabAveCards.setBackground(HSColors.WARNING_BUTTON_COLOR);
  tabAveCards.setForeground(Color.WHITE);
  plotTabPane.add(tabAveCards);
  sl_PlotPane.putConstraint(SpringLayout.WEST,plotCardPane,0,SpringLayout.WEST,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.SOUTH,plotCardPane,0,SpringLayout.SOUTH,PlotPane);
  sl_PlotPane.putConstraint(SpringLayout.EAST,plotCardPane,0,SpringLayout.EAST,PlotPane);
  PlotPane.add(plotCardPane);
  plotCardPane.setLayout(new CardLayout(0,0));
  plot_aveMinions=new Plot();
  FlowLayout flowLayout_1=(FlowLayout)plot_aveMinions.getLayout();
  flowLayout_1.setVgap(0);
  plot_aveMinions.setYRange(0,6.0);
  plot_aveMinions.setXRange(0,30.0);
  plot_aveMinions.setTitle("String_Node_Str");
  plot_aveMinions.addLegend(0,"String_Node_Str");
  plot_aveMinions.addLegend(1,"String_Node_Str");
  plot_aveMinions.setXLabel("String_Node_Str");
  plot_aveMinions.setBackground(HSColors.BACKGROUND_COLOR);
  plot_aveMinions.setForeground(Color.WHITE);
  plot_aveMinions.setGrid(false);
  plot_aveMinions.setLabelFont("String_Node_Str");
  plotCardPane.add(plot_aveMinions,"String_Node_Str");
  plot_aveCards=new Plot();
  FlowLayout flowLayout_2=(FlowLayout)plot_aveCards.getLayout();
  flowLayout_2.setVgap(0);
  plot_aveCards.setYRange(0,6.0);
  plot_aveCards.setXRange(0,30.0);
  plot_aveCards.setTitle("String_Node_Str");
  plot_aveCards.addLegend(0,"String_Node_Str");
  plot_aveCards.addLegend(1,"String_Node_Str");
  plot_aveCards.setXLabel("String_Node_Str");
  plot_aveCards.setBackground(HSColors.BACKGROUND_COLOR);
  plot_aveCards.setForeground(Color.WHITE);
  plot_aveCards.setGrid(false);
  plot_aveCards.setLabelFont("String_Node_Str");
  plotCardPane.add(plot_aveCards,"String_Node_Str");
  middlePanel.add(ControlPane);
  ControlPane.setOpaque(false);
  HSButton btnSetting=new HSButton("String_Node_Str");
  btnSetting.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      HSSimulationSettingsFrame settingsFrame=new HSSimulationSettingsFrame(frame,hsModel_.getSimulation());
      settingsFrame.setVisible(true);
    }
  }
);
  btnSetting.setForeground(Color.WHITE);
  btnSetting.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  ControlPane.add(btnSetting);
  Component rigidArea_3=Box.createRigidArea(new Dimension(20,20));
  rigidArea_3.setPreferredSize(new Dimension(100,20));
  ControlPane.add(rigidArea_3);
  HSButton btnReset=new HSButton("String_Node_Str");
  btnReset.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      hsModel_.resetSimulationResults();
      HearthSim.this.updatePlotPanel();
      HearthSim.this.updateInfoPanel();
    }
  }
);
  btnReset.setForeground(Color.WHITE);
  btnReset.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  ControlPane.add(btnReset);
  btnRun=new HSButton("String_Node_Str");
  btnRun.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (!isRunning_) {
        if (hsModel_.getSimulation().getDeck_p0() == null) {
          JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
          return;
        }
        if (hsModel_.getSimulation().getDeck_p1() == null) {
          JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
          return;
        }
        Runnable runner=new Runnable(){
          public void run(){
            hsModel_.runSimulation();
          }
        }
;
        new Thread(runner).start();
      }
    }
  }
);
  btnRun.setBackground(HSColors.SUCCESS_BUTTON_COLOR);
  btnRun.setForeground(Color.WHITE);
  ControlPane.add(btnRun);
  Player1Panel.setBorder(new MatteBorder(0,1,0,0,(Color)Color.GRAY));
  Player1Panel.setOpaque(false);
  springLayout.putConstraint(SpringLayout.NORTH,Player1Panel,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.WEST,Player1Panel,-200,SpringLayout.EAST,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,Player1Panel,0,SpringLayout.SOUTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.EAST,Player1Panel,0,SpringLayout.EAST,frame.getContentPane());
  frame.getContentPane().add(Player1Panel);
  SpringLayout sl_Player1Panel=new SpringLayout();
  Player1Panel.setLayout(sl_Player1Panel);
  JPanel HeroPane_1=new JPanel();
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,HeroPane_1,50,SpringLayout.NORTH,Player1Panel);
  HeroPane_1.setOpaque(false);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,HeroPane_1,0,SpringLayout.NORTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,HeroPane_1,0,SpringLayout.WEST,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,HeroPane_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(HeroPane_1);
  JButton btnDeckCreate_1=new HSDeckCreateButton();
  btnDeckCreate_1.setBounds(20,18,20,15);
  btnDeckCreate_1.setBackground(HSColors.BACKGROUND_COLOR);
  btnDeckCreate_1.setForeground(Color.WHITE);
  HeroPane_1.add(btnDeckCreate_1);
  JScrollPane DeckPane_1=new JScrollPane();
  sl_Player1Panel.putConstraint(SpringLayout.WEST,DeckPane_1,5,SpringLayout.WEST,Player1Panel);
  DeckPane_1.setOpaque(false);
  DeckPane_1.setBackground(Color.DARK_GRAY);
  DeckPane_1.setLayout(new ScrollPaneLayout());
  DeckPane_1.getViewport().setOpaque(false);
  DeckPane_1.setBorder(BorderFactory.createEmptyBorder());
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,DeckPane_1,0,SpringLayout.SOUTH,HeroPane_1);
  HeroPane_1.setLayout(null);
  lblHero_1=new JLabel("String_Node_Str");
  lblHero_1.setBounds(0,0,200,50);
  lblHero_1.setHorizontalAlignment(SwingConstants.CENTER);
  lblHero_1.setForeground(Color.WHITE);
  lblHero_1.setFont(new Font("String_Node_Str",Font.PLAIN,20));
  HeroPane_1.add(lblHero_1);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,DeckPane_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(DeckPane_1);
  JPanel ControlPane_1=new JPanel();
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,DeckPane_1,-20,SpringLayout.NORTH,ControlPane_1);
  ControlPane_1.setOpaque(false);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,ControlPane_1,-40,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,ControlPane_1,0,SpringLayout.WEST,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,ControlPane_1,0,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,ControlPane_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(ControlPane_1);
  SpringLayout sl_ControlPane_1=new SpringLayout();
  ControlPane_1.setLayout(sl_ControlPane_1);
  deckList_1=new HSCardList();
  deckList_1.setForeground(Color.WHITE);
  deckList_1.setBackground(HSColors.BACKGROUND_COLOR);
  deckList_1.setOpaque(false);
  DeckPane_1.setViewportView(deckList_1);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,ControlPane_1,-40,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,ControlPane_1,0,SpringLayout.WEST,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,ControlPane_1,0,SpringLayout.SOUTH,Player1Panel);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,ControlPane_1,0,SpringLayout.EAST,Player1Panel);
  HSButton p1_Load=new HSButton("String_Node_Str");
  p1_Load.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (fileChooser_ == null)       fileChooser_=new JFileChooser();
      int retVal=fileChooser_.showOpenDialog(frame);
      if (retVal == JFileChooser.APPROVE_OPTION) {
        try {
          DeckListFile deckList=new DeckListFile(fileChooser_.getSelectedFile().toPath());
          ((SortedListModel)deckList_1.getModel()).clear();
          for (int indx=0; indx < deckList.getDeck().getNumCards(); ++indx) {
            Card card=deckList.getDeck().drawCard(indx);
            ((SortedListModel)deckList_1.getModel()).addElement(IMPLEMENTED_CARD_LIST.getCardForClass(card.getClass()));
          }
          hsModel_.getSimulation().setDeck_p1(deckList.getDeck());
          hsModel_.getSimulation().setHero_p1(deckList.getHero());
          lblHero_1.setText(deckList.getHero().getName());
        }
 catch (        HSInvalidCardException|HSInvalidHeroException|IOException e1) {
          JOptionPane.showMessageDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
        }
      }
    }
  }
);
  sl_ControlPane_1.putConstraint(SpringLayout.NORTH,p1_Load,5,SpringLayout.NORTH,ControlPane_1);
  sl_ControlPane_1.putConstraint(SpringLayout.WEST,p1_Load,5,SpringLayout.WEST,ControlPane_1);
  p1_Load.setPreferredSize(new Dimension(80,30));
  p1_Load.setForeground(Color.WHITE);
  p1_Load.setBackground(HSColors.DEFAULT_BUTTON_COLOR);
  ControlPane_1.add(p1_Load);
  JButton p1_save=new HSButton("String_Node_Str");
  p1_save.setForeground(Color.WHITE);
  p1_save.setBackground(HSColors.DISABLED_BUTTON_COLOR);
  p1_save.setPreferredSize(new Dimension(80,30));
  sl_ControlPane_1.putConstraint(SpringLayout.EAST,p1_save,-5,SpringLayout.EAST,ControlPane_1);
  sl_ControlPane_1.putConstraint(SpringLayout.NORTH,p1_save,5,SpringLayout.NORTH,ControlPane_1);
  ControlPane_1.add(p1_save);
  JPanel cardCountPanel_0=new JPanel();
  cardCountPanel_0.setBackground(HSColors.BACKGROUND_COLOR);
  cardCountPanel_0.setForeground(HSColors.TEXT_COLOR);
  sl_Player0Panel.putConstraint(SpringLayout.NORTH,cardCountPanel_0,0,SpringLayout.SOUTH,DeckPane_0);
  sl_Player0Panel.putConstraint(SpringLayout.WEST,cardCountPanel_0,0,SpringLayout.WEST,DeckPane_0);
  sl_Player0Panel.putConstraint(SpringLayout.SOUTH,cardCountPanel_0,0,SpringLayout.NORTH,ControlPane_0);
  sl_Player0Panel.putConstraint(SpringLayout.EAST,cardCountPanel_0,0,SpringLayout.EAST,Player0Panel);
  Player0Panel.add(cardCountPanel_0);
  cardCountPanel_0.setLayout(null);
  cardCount_0=new JLabel("String_Node_Str");
  cardCount_0.setHorizontalAlignment(SwingConstants.CENTER);
  cardCount_0.setBounds(0,0,195,20);
  cardCount_0.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  cardCount_0.setForeground(HSColors.TEXT_COLOR);
  cardCountPanel_0.add(cardCount_0);
  JPanel cardCountPanel_1=new JPanel();
  cardCountPanel_1.setBackground(HSColors.BACKGROUND_COLOR);
  cardCountPanel_1.setForeground(HSColors.TEXT_COLOR);
  sl_Player1Panel.putConstraint(SpringLayout.NORTH,cardCountPanel_1,0,SpringLayout.SOUTH,DeckPane_1);
  sl_Player1Panel.putConstraint(SpringLayout.WEST,cardCountPanel_1,0,SpringLayout.WEST,DeckPane_1);
  sl_Player1Panel.putConstraint(SpringLayout.SOUTH,cardCountPanel_1,0,SpringLayout.NORTH,ControlPane_1);
  sl_Player1Panel.putConstraint(SpringLayout.EAST,cardCountPanel_1,0,SpringLayout.EAST,Player1Panel);
  Player1Panel.add(cardCountPanel_1);
  cardCountPanel_1.setLayout(null);
  cardCount_1=new JLabel("String_Node_Str");
  cardCount_1.setHorizontalAlignment(SwingConstants.CENTER);
  cardCount_1.setBounds(0,0,195,20);
  cardCount_1.setFont(new Font("String_Node_Str",Font.PLAIN,12));
  cardCount_1.setForeground(HSColors.TEXT_COLOR);
  cardCountPanel_1.add(cardCount_1);
  deckList_0.getModel().addListDataListener(new ListDataListener(){
    @Override public void intervalAdded(    ListDataEvent e){
    }
    @Override public void intervalRemoved(    ListDataEvent e){
    }
    @Override public void contentsChanged(    ListDataEvent e){
      cardCount_0.setText(deckList_0.getModel().getSize() + "String_Node_Str");
    }
  }
);
  deckList_1.getModel().addListDataListener(new ListDataListener(){
    @Override public void intervalAdded(    ListDataEvent e){
    }
    @Override public void intervalRemoved(    ListDataEvent e){
    }
    @Override public void contentsChanged(    ListDataEvent e){
      cardCount_1.setText(deckList_1.getModel().getSize() + "String_Node_Str");
    }
  }
);
  btnDeckCreate_0.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (middlePanel.isVisible()) {
        middlePanel.setVisible(false);
        deckCreatePanel_0.setVisible(true);
        deckCreatePanel_0.setEditing(true);
      }
 else       if (deckCreatePanel_0.isVisible()) {
        middlePanel.setVisible(true);
        deckCreatePanel_0.setVisible(false);
        deckCreatePanel_0.setEditing(false);
        if (deckList_0.getModel().getSize() > 0)         hsModel_.getSimulation().setDeck_p0(deckList_0.getDeck());
      }
    }
  }
);
  btnDeckCreate_1.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (middlePanel.isVisible()) {
        middlePanel.setVisible(false);
        deckCreatePanel_1.setVisible(true);
        deckCreatePanel_1.setEditing(true);
      }
 else       if (deckCreatePanel_1.isVisible()) {
        middlePanel.setVisible(true);
        deckCreatePanel_1.setVisible(false);
        deckCreatePanel_1.setEditing(false);
        if (deckList_1.getModel().getSize() > 0)         hsModel_.getSimulation().setDeck_p1(deckList_1.getDeck());
      }
    }
  }
);
  deckCreatePanel_0=new HSDeckCreatePanel();
  deckCreatePanel_0.setForeground(Color.WHITE);
  deckCreatePanel_0.setBackground(HSColors.LIGHTER_BACKGROUND_COLOR);
  springLayout.putConstraint(SpringLayout.WEST,deckCreatePanel_0,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.EAST,deckCreatePanel_0,0,SpringLayout.WEST,Player1Panel);
  springLayout.putConstraint(SpringLayout.NORTH,deckCreatePanel_0,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,deckCreatePanel_0,0,SpringLayout.SOUTH,frame.getContentPane());
  deckCreatePanel_0.setPlayer(0);
  deckCreatePanel_0.setVisible(false);
  deckCreatePanel_0.setCardListPane(deckList_0);
  frame.getContentPane().add(deckCreatePanel_0);
  deckCreatePanel_1=new HSDeckCreatePanel();
  deckCreatePanel_1.setForeground(Color.WHITE);
  deckCreatePanel_1.setBackground(HSColors.LIGHTER_BACKGROUND_COLOR);
  springLayout.putConstraint(SpringLayout.WEST,deckCreatePanel_1,0,SpringLayout.EAST,Player0Panel);
  springLayout.putConstraint(SpringLayout.EAST,deckCreatePanel_1,0,SpringLayout.WEST,Player1Panel);
  springLayout.putConstraint(SpringLayout.NORTH,deckCreatePanel_1,0,SpringLayout.NORTH,frame.getContentPane());
  springLayout.putConstraint(SpringLayout.SOUTH,deckCreatePanel_1,0,SpringLayout.SOUTH,frame.getContentPane());
  deckCreatePanel_1.setPlayer(1);
  deckCreatePanel_1.setVisible(false);
  deckCreatePanel_1.setCardListPane(deckList_1);
  frame.getContentPane().add(deckCreatePanel_1);
}