diff options
Diffstat (limited to 'src/jeopardy/View.java')
-rw-r--r-- | src/jeopardy/View.java | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/src/jeopardy/View.java b/src/jeopardy/View.java index bed1eba..a2f50c2 100644 --- a/src/jeopardy/View.java +++ b/src/jeopardy/View.java @@ -1,5 +1,205 @@ package jeopardy; +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import java.util.ArrayList; + public class View { + private Controller controller; + + private JFrame show; + private JFrame host; + + private JPanel labelPanel; + private JPanel questionPanel; + + + public void createGameDialog(final GameDescription description) { + + final JPanel pmPanel = new JPanel(); + final BoxLayout pmLayout = new BoxLayout(pmPanel, BoxLayout.LINE_AXIS); + pmPanel.setLayout(pmLayout); + + final JPanel usersPanel = new JPanel(); + final BoxLayout usersLayout = new BoxLayout(usersPanel, BoxLayout.PAGE_AXIS); + usersPanel.setLayout(usersLayout); + + final JPanel nameAreaPanel = new JPanel(); + final BoxLayout nameAreaLayout = new BoxLayout(nameAreaPanel, BoxLayout.PAGE_AXIS); + nameAreaPanel.setLayout(nameAreaLayout); + + final ArrayList<JTextField> nameArea = new ArrayList<JTextField>(); + JTextField firstName = new JTextField(); + nameArea.add(new JTextField()); + firstName.setMaximumSize(new Dimension(Short.MAX_VALUE, 1)); + nameAreaPanel.add(Box.createGlue()); + nameAreaPanel.add(firstName); + + nameAreaPanel.setMaximumSize(new Dimension(150, 1)); + + JLabel descriptionLabel = new JLabel("Bitte Spielernamen angeben!"); + + JButton plus = new JButton("+"); + plus.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + nameArea.add(new JTextField()); + nameArea.get(nameArea.size()-1).setMaximumSize(new Dimension(Short.MAX_VALUE, 1)); + nameAreaPanel.add(nameArea.get(nameArea.size()-1)); + host.validate(); + } + }); + + JButton minus = new JButton("-"); + minus.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + nameAreaPanel.remove(nameArea.get(nameArea.size()-1)); + nameArea.remove(nameArea.size()-1); + host.validate(); + } + }); + + JButton finish = new JButton("Ok"); + + pmPanel.add(plus); + pmPanel.add(minus); + + descriptionLabel.setAlignmentX(Component.CENTER_ALIGNMENT); + nameAreaPanel.setAlignmentX(Component.CENTER_ALIGNMENT); + pmPanel.setAlignmentX(Component.CENTER_ALIGNMENT); + finish.setAlignmentX(Component.CENTER_ALIGNMENT); + + usersPanel.add(descriptionLabel); + usersPanel.add(nameAreaPanel); + usersPanel.add(Box.createGlue()); + usersPanel.add(pmPanel); + usersPanel.add(finish); + + host.add(usersPanel); + host.validate(); + + + //---------------------- + + final JPanel pmPanel2 = new JPanel(); + final BoxLayout pmLayout2 = new BoxLayout(pmPanel2, BoxLayout.LINE_AXIS); + pmPanel2.setLayout(pmLayout2); + + final JPanel categoriesPanel = new JPanel(); + final BoxLayout categoriesLayout = new BoxLayout(categoriesPanel, BoxLayout.PAGE_AXIS); + categoriesPanel.setLayout(categoriesLayout); + + categoriesPanel.setSize(new Dimension(5, Short.MAX_VALUE)); + + final JPanel categoriesAreaPanel = new JPanel(); + final BoxLayout categoriesAreaLayout = new BoxLayout(categoriesAreaPanel, BoxLayout.PAGE_AXIS); + categoriesAreaPanel.setLayout(categoriesAreaLayout); + + categoriesAreaPanel.setMaximumSize(new Dimension(150, 1)); + + final ArrayList<Choice> categoriesArea = new ArrayList<Choice>(); + Choice firstCategory = new Choice(); + categoriesArea.add(firstCategory); + + firstCategory.setMaximumSize(new Dimension(Short.MAX_VALUE, 1)); + categoriesAreaPanel.add(Box.createGlue()); + + categoriesAreaPanel.add(firstCategory); + + JLabel descriptionLabel2 = new JLabel("Bitte Kategorien auswählen!"); + + JButton plus2 = new JButton("+"); + + plus2.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + categoriesArea.add(new Choice()); + categoriesArea.get(categoriesArea.size()-1).setMaximumSize(new Dimension(Short.MAX_VALUE, 1)); + categoriesAreaPanel.add(categoriesArea.get(categoriesArea.size()-1)); + host.validate(); + } + }); + + JButton minus2 = new JButton("-"); + + minus2.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + categoriesAreaPanel.remove(categoriesArea.get(nameArea.size()-1)); + categoriesArea.remove(nameArea.size()-1); + host.validate(); + } + }); + + JButton finish2 = new JButton("Ok"); + + descriptionLabel2.setAlignmentX(Component.CENTER_ALIGNMENT); + categoriesAreaPanel.setAlignmentX(Component.CENTER_ALIGNMENT); + pmPanel2.setAlignmentX(Component.CENTER_ALIGNMENT); + finish2.setAlignmentX(Component.CENTER_ALIGNMENT); + + pmPanel2.add(plus2); + pmPanel2.add(minus2); + + categoriesPanel.add(descriptionLabel2); + categoriesPanel.add(categoriesAreaPanel); + categoriesPanel.add(Box.createGlue()); + categoriesPanel.add(pmPanel2); + categoriesPanel.add(finish2); + + finish.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + for(JTextField bla : nameArea) { + description.addUser(bla.getText()); + } + host.remove(usersPanel); + host.add(categoriesPanel); + host.validate(); + } + }); + + finish2.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + for(Choice bla : categoriesArea) { + description.addCategory(bla.getSelectedItem()); + } + host.remove(categoriesPanel); + host.validate(); + host.repaint(); + } + }); + } + + + //---------------------- + + + public void showQuestion(String q) { + show.removeAll(); + + questionPanel = new JPanel(); + JLabel question = new JLabel(q); + + show.add(question); + show.validate(); + + } + + public void showLabelPanel() { + + } + + public View(Controller c) { + controller = c; + + show = new JFrame("Show"); + show.setSize(800, 600); + show.setVisible(true); + + host = new JFrame("Host"); + host.setSize(800, 600); + host.setVisible(true); + + labelPanel = new JPanel(); + } + } |