From 8fbe5a7fc851885bced2140df92e0dcb43a5d681 Mon Sep 17 00:00:00 2001 From: laeila Date: Fri, 21 Aug 2009 15:36:18 +0200 Subject: =?UTF-8?q?oberfl=C3=A4che=20f=C3=BCr=20die=20spielerstellung=20an?= =?UTF-8?q?gefangen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jeopardy/AQPair.java | 9 ++ src/jeopardy/Controller.java | 20 +++- src/jeopardy/Game.java | 16 +++ src/jeopardy/GameDescription.java | 29 ++++++ src/jeopardy/Jeopardy.java | 10 +- src/jeopardy/View.java | 200 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 281 insertions(+), 3 deletions(-) create mode 100644 src/jeopardy/AQPair.java create mode 100644 src/jeopardy/Game.java create mode 100644 src/jeopardy/GameDescription.java diff --git a/src/jeopardy/AQPair.java b/src/jeopardy/AQPair.java new file mode 100644 index 0000000..75ac226 --- /dev/null +++ b/src/jeopardy/AQPair.java @@ -0,0 +1,9 @@ +package jeopardy; + +public class AQPair { + + + AQPair() { + + } +} diff --git a/src/jeopardy/Controller.java b/src/jeopardy/Controller.java index 783c458..dc8687b 100644 --- a/src/jeopardy/Controller.java +++ b/src/jeopardy/Controller.java @@ -1,5 +1,23 @@ package jeopardy; -public class Controller { +import java.util.ArrayList; +public class Controller { + + void beginGame(GameDescription description) { + + } + + boolean isValidUser(String user) { + return false; + } + + void createUser(String user) { + + } + + ArrayList getCategories(ArrayList players) { + ArrayList blubb = new ArrayList(); + return blubb; + } } diff --git a/src/jeopardy/Game.java b/src/jeopardy/Game.java new file mode 100644 index 0000000..f9f2872 --- /dev/null +++ b/src/jeopardy/Game.java @@ -0,0 +1,16 @@ +package jeopardy; + +import java.util.ArrayList; + +public class Game { + + GameDescription description; + ArrayList> content; + + Game(){} + + Game(GameDescription d, ArrayList> c) { + description = d; + content = c; + } +} diff --git a/src/jeopardy/GameDescription.java b/src/jeopardy/GameDescription.java new file mode 100644 index 0000000..6c22fa7 --- /dev/null +++ b/src/jeopardy/GameDescription.java @@ -0,0 +1,29 @@ +package jeopardy; + +import java.util.ArrayList; + +import javax.swing.JTextField; + +public class GameDescription { + + private ArrayList categories; + private ArrayList users; + + public void addUser(String user) { + users.add(user); + } + + public void addCategory(String category) { + categories.add(category); + } + + GameDescription() { + categories = new ArrayList(); + users = new ArrayList(); + } + + GameDescription(ArrayList c, ArrayList u) { + categories = c; + users = u; + } +} diff --git a/src/jeopardy/Jeopardy.java b/src/jeopardy/Jeopardy.java index 7b5f3db..e6c5e12 100644 --- a/src/jeopardy/Jeopardy.java +++ b/src/jeopardy/Jeopardy.java @@ -1,13 +1,19 @@ package jeopardy; +import javax.swing.SwingUtilities; + public class Jeopardy { /** * @param args */ public static void main(String[] args) { - // TODO Auto-generated method stub - + SwingUtilities.invokeLater(new Runnable() { + public void run() { + View view = new View(new Controller()); + view.createGameDialog(new GameDescription()); + } + }); } } 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 nameArea = new ArrayList(); + 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 categoriesArea = new ArrayList(); + 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(); + } + } -- cgit v1.2.3