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/View.java | 200 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) (limited to 'src/jeopardy/View.java') 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