summaryrefslogtreecommitdiffstats
path: root/src/jeopardy/View.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jeopardy/View.java')
-rw-r--r--src/jeopardy/View.java200
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();
+ }
+
}