public ModifyTeamScreen(Team teamPassed, Screen callerScreen) { Eve.setLayout(new MigLayout("flowy", "[grow, fill]", "[][grow, fill]")); cancel.addActionListener( (ActionEvent e) -> { caller.Return(); }); save.addActionListener( (ActionEvent e) -> { team.name = name.getText(); if (team.globalIndex == -1) { team.saveTeam(true); } else { team.saveTeam(false); } callerScreen.refresh(); caller.Return(); }); addPlayers.setMargin(new Insets(0, 0, 0, 0)); addPlayers.addActionListener( (ActionEvent e) -> { if (team.getPlayers().length < 5) { JButton cancelB = new JButton("Cancel"); cancelB.addActionListener( (ActionEvent f) -> { inner.removeAll(); popup.dispose(); }); inner.add(cancelB); JButton newPlayer = new JButton("New Player"); newPlayer.addActionListener( (ActionEvent f) -> { inner.removeAll(); popup.dispose(); ModifyPlayerPopup addNewPlayer = new ModifyPlayerPopup(null, this, team); }); inner.add(newPlayer); inner.add(new JSeparator(), "growx"); for (Player player : Global.Players) { boolean playerInCurrentTeam = false; for (Player teamPlayer : team.getPlayers()) { if (teamPlayer.globalIndex == player.globalIndex) { playerInCurrentTeam = true; break; } } if (!playerInCurrentTeam) { JPanel oldPlayer = player.playerPreview(); JButton choose = new JButton("Add!"); choose.addActionListener( (ActionEvent f) -> { team.addPlayer(player); inner.removeAll(); popup.dispose(); refresh(); }); oldPlayer.add(choose, "east"); oldPlayer.setBorder(BorderFactory.createLineBorder(Color.black)); inner.add(oldPlayer); } } innerScroll.getVerticalScrollBar().setUnitIncrement(16); innerScroll.setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_NEVER); popup.add(innerScroll); popup.setSize(350, 400); popup.setLocation(MouseInfo.getPointerInfo().getLocation()); popup.setVisible(true); } else { JOptionPane.showMessageDialog( null, "You cannot add more than 5 players per team.\nPlease remove one before adding another."); } }); caller = callerScreen; drawScreen(teamPassed); }
void drawScreen(Team teamPassed) { if (teamPassed != null) { // We're editing a current team team = teamPassed; for (Player player : team.getPlayers()) { JPanel thisPlayer = player.playerPreview(); JButton modify = new JButton(ResourceRetriever.getImage("edit.png", 16, 16)); modify.setMargin(new Insets(0, 0, 0, 0)); modify.addActionListener( (ActionEvent e) -> { new ModifyPlayerPopup(player, this, null); }); JButton delete = new JButton(ResourceRetriever.getImage("X.png", 16, 16)); delete.setMargin(new Insets(0, 0, 0, 0)); delete.addActionListener( (ActionEvent e) -> { Object[] options = {"Remove Player from team", "Delete Player", "Cancel"}; JFrame frame = new JFrame(); int answer = JOptionPane.showOptionDialog( frame, "Are you sure you would like to delete \"" + player.name + "?\"", "Confirm Delete", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, Global.QUESTIONPIC, options, options[2]); if (answer == 0) { team.removePlayer(player); refresh(); } else if (answer == 1) { // Teams without uniqueID's don't get added to players yet, // so the player needs to be manually removed. if (team.globalIndex == -1) { team.removePlayer(player); } player.delete(); refresh(); } }); thisPlayer.add(delete, "east"); thisPlayer.add(modify, "east"); thisPlayer.setBorder(BorderFactory.createLineBorder(Color.black)); players.add(thisPlayer, "growx"); } name.setText(team.name); } else { // This is a new Team team = new Team("New Team"); name.setText(team.name); name.setFont(new Font("Ariel", Font.PLAIN, 20)); name.select(0, name.getText().length()); } players.setBorder(BorderFactory.createLineBorder(Color.black)); south.add(addPlayers); south.add(new JLabel("Players")); south.add(players, "span, grow"); south.add(cancel, "span, right, split 2"); south.add(save, "span, right"); Eve.add(name); Eve.add(south); }
void drawScreen() { matchup.add(teamName); matchup.add(new JLabel("vs.")); matchup.add(enemyName); myPicksFrame.add(new JLabel("picks"), "span, center, wrap"); for (JLabel portait : myPicks) { myPicksPortraits.add(portait); } myPicksFrame.add(myPicksPortraits); theirPicks.add(new JLabel("picks"), "span, center, wrap"); for (JLabel portait : enemyPicks) { theirPicksPortraits.add(portait); } theirPicks.add(theirPicksPortraits); myBansFrame.add(new JLabel("bans"), "span, center, wrap"); for (JLabel portait : myBans) { myBansPortraits.add(portait); } myBansFrame.add(myBansPortraits); theirBans.add(new JLabel("bans"), "span, center, wrap"); for (JLabel portait : enemyBans) { theirBansPortraits.add(portait); } theirBans.add(theirBansPortraits); if (team == null) { allyPool = new PoolBuilder(false, "small", null, null); players.add(allyPool.pool); } else { for (Player player : team.getPlayers()) { players.add(new JLabel(player.name)); JPanel heroes = new JPanel(new MigLayout("", "[grow 49, fill][grow 1][grow 49, fill]")); JPanel regHeroes = new JPanel(new WrapLayout(FlowLayout.LEADING)); JPanel stunHeroes = new JPanel(new WrapLayout(FlowLayout.LEADING)); int numOfStuns = 0; for (Hero hero : player.getPlayList()) { if (hero.hasCharacteristic(Global.Characteristics.RSTUN)) { stunHeroes.add(new JLabel(hero.portraitSmall)); numOfStuns++; } else { regHeroes.add(new JLabel(hero.portraitSmall)); } } heroes.add(regHeroes); if (numOfStuns > 0) { heroes.add(new JSeparator(SwingConstants.VERTICAL), "growy"); heroes.add(stunHeroes); } heroes.setBorder(BorderFactory.createLineBorder(Color.black)); players.add(heroes); } } enemyPool = new PoolBuilder(false, "small", new Returner(), null); theirPool.add(enemyPool.pool); Eve.add(matchup, "span, grow"); Eve.add(myPicksFrame, "c"); Eve.add(theirPicks, "c"); Eve.add(myBansFrame, "c"); Eve.add(theirBans, "c"); // Eve.add(players, "top, span"); Eve.add(theirPool); // Eve.add(back); Adam.setSize(windowSize); }