public MainFrame(HeroDeck heroes, VillainDeck villains, gameSetting settings) { super("Marvel Match Generator"); setLayout(new BorderLayout()); next1 = new NextButton(); next2 = new NextButton(); settingToolbar = new gameSettingToolBar(settings, next1); cardSelect = new CardSelectToolbar(heroes, villains, settings, next2); this.setSize(640, 480); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); add(settingToolbar, BorderLayout.NORTH); add(next1, BorderLayout.CENTER); next1.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { add(cardSelect, BorderLayout.NORTH); System.out.println( settings.getHeroes() + " " + settings.getVillains() + " " + settings.getHenchmen()); cardSelect.setMaxes( settings.getHeroes(), settings.getVillains(), settings.getHenchmen(), heroes, villains); settings.calcSettings(); cardSelect.calcVillain(settings); settingToolbar.setVisible(false); next1.setVisible(false); add(next2, BorderLayout.CENTER); } }); next2.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardSelect.setVisible(false); next2.setVisible(false); output = new FinalOutput(heroes, villains, settings); add(output, BorderLayout.CENTER); } }); }