package com.kolakcc.loljclient.view; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; import com.kolakcc.loljclient.model.CustomGamePlayer; import com.kolakcc.loljclient.model.MasteryPage; import com.kolakcc.loljclient.model.RunePage; import com.kolakcc.loljclient.model.SummonerSpell; import com.kolakcc.loljclient.model.swing.IconSizeComboBoxModel; import com.kolakcc.loljclient.view.ui.ChampionsPanel; import com.kolakcc.loljclient.view.ui.VerticalJScrollPane; import com.kolakcc.loljclient.view.ui.renderer.CustomGameParticipantListItemRenderer; public class ChampionSelectView extends KolaView { JTextArea teamChatArea; JTextField chatField; public ChampionsPanel championsPanel; public JList<CustomGamePlayer> team1List; public JList<CustomGamePlayer> team2List; public JComboBox<SummonerSpell> summonerSpell1ComboBox; public JComboBox<SummonerSpell> summonerSpell2ComboBox; public JComboBox<RunePage> runePageList; public JComboBox<MasteryPage> masteryPageList; public JButton lockInButton; JLabel timerLabel; public ChampionSelectView() { super(); this.setTitle("Champions"); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setLayout(new BorderLayout()); timerLabel = new JLabel("Countdown"); this.add(timerLabel,BorderLayout.NORTH); JPanel team1Panel = new JPanel(new BorderLayout()); //TODO: find out what puts you on what team team1Panel.add(new JLabel("Team 1 (blue side)"),BorderLayout.NORTH); team1List = new JList<CustomGamePlayer>(); team1List.setCellRenderer(new CustomGameParticipantListItemRenderer()); team1Panel.add(team1List, BorderLayout.CENTER); this.add(team1Panel,BorderLayout.WEST); JPanel team2Panel = new JPanel(new BorderLayout()); team2Panel.add(new JLabel("Team 2 (purple side)"),BorderLayout.NORTH); team2List = new JList<CustomGamePlayer>(); team2List.setCellRenderer(new CustomGameParticipantListItemRenderer()); team2Panel.add(team2List,BorderLayout.CENTER); this.add(team2Panel,BorderLayout.EAST); JPanel centerPanel = new JPanel(new BorderLayout()); championsPanel = new ChampionsPanel(IconSizeComboBoxModel.MEDIUM,"Playable"); centerPanel.add(new VerticalJScrollPane(championsPanel), BorderLayout.CENTER); JPanel customizePanel = new JPanel(new BorderLayout()); JPanel runesAndMasteries = new JPanel(new GridLayout(2,1)); runePageList = new JComboBox<RunePage>(); runesAndMasteries.add(runePageList); masteryPageList = new JComboBox<MasteryPage>(); runesAndMasteries.add(masteryPageList); customizePanel.add(runesAndMasteries, BorderLayout.CENTER); JPanel spellsPanel = new JPanel(new GridLayout(2,1)); summonerSpell1ComboBox = new JComboBox<SummonerSpell>(); spellsPanel.add(summonerSpell1ComboBox); summonerSpell2ComboBox = new JComboBox<SummonerSpell>(); spellsPanel.add(summonerSpell2ComboBox); customizePanel.add(spellsPanel, BorderLayout.EAST); lockInButton = new JButton("Lock in"); customizePanel.add(lockInButton,BorderLayout.SOUTH); centerPanel.add(customizePanel,BorderLayout.SOUTH); this.add(centerPanel,BorderLayout.CENTER); JPanel bottomPanel = new JPanel(new BorderLayout()); teamChatArea = new JTextArea(); bottomPanel.add(teamChatArea, BorderLayout.CENTER); chatField = new JTextField(); bottomPanel.add(chatField,BorderLayout.SOUTH); this.add(bottomPanel,BorderLayout.SOUTH); this.setSize(500,500); this.setVisible(true); } public void addActionListeners(ActionListener l) { summonerSpell1ComboBox.addActionListener(l); summonerSpell2ComboBox.addActionListener(l); runePageList.addActionListener(l); masteryPageList.addActionListener(l); } public void setTimer(int number) { timerLabel.setText(Integer.toString(number)); } }