summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/QuitWarningPanel.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-06-19 22:27:21 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-06-19 22:27:21 +0200
commitfc6d3d46db69c639557462a49ccb16463df91617 (patch)
tree3d1021e1e806dfb2e9649d689d0fd7eaa6984dde /src/jrummikub/view/impl/QuitWarningPanel.java
parent45656861ab2e618938764f0c46f830184099a71d (diff)
downloadJRummikub-fc6d3d46db69c639557462a49ccb16463df91617.tar
JRummikub-fc6d3d46db69c639557462a49ccb16463df91617.zip
quit warnings funktionieren
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@492 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/QuitWarningPanel.java')
-rw-r--r--src/jrummikub/view/impl/QuitWarningPanel.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/jrummikub/view/impl/QuitWarningPanel.java b/src/jrummikub/view/impl/QuitWarningPanel.java
new file mode 100644
index 0000000..d7a304a
--- /dev/null
+++ b/src/jrummikub/view/impl/QuitWarningPanel.java
@@ -0,0 +1,95 @@
+package jrummikub.view.impl;
+
+import java.awt.Color;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.SwingConstants;
+import javax.swing.border.CompoundBorder;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.LineBorder;
+
+import jrummikub.util.Event;
+import jrummikub.view.IQuitWarningPanel;
+
+public class QuitWarningPanel extends JPanel implements IQuitWarningPanel {
+ private JPanel buttonPanel;
+ private JButton cancelButton;
+ private JButton quitButton;
+ private QuitMode quitMode;
+ private Event quitEvent = new Event();
+ private Event cancelEvent = new Event();
+ private JLabel messageLabel;
+
+ public QuitWarningPanel() {
+ setLayout(new GridBagLayout());
+
+ GridBagConstraints c = new GridBagConstraints();
+ c.gridx = 0;
+ c.gridy = 0;
+ c.weightx = 1;
+ c.weighty = 1;
+ c.fill = GridBagConstraints.BOTH;
+ c.gridwidth = 2;
+ c.anchor = GridBagConstraints.CENTER;
+
+ messageLabel = new JLabel();
+ messageLabel.setHorizontalAlignment(SwingConstants.CENTER);
+ add(messageLabel, c);
+
+ c.gridy = 1;
+ c.gridwidth = 1;
+ quitButton = createButton("Beenden", quitEvent);
+ cancelButton = createButton("Abbrechen", cancelEvent);
+ add(cancelButton, c);
+ c.gridx = 1;
+ add(quitButton, c);
+
+ setBorder(new CompoundBorder(new LineBorder(Color.BLACK),
+ new EmptyBorder(10, 10, 10, 10)));
+ }
+
+ private JButton createButton(String title, final Event event) {
+ JButton button = new JButton(title);
+ button.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ event.emit();
+ }
+ });
+ return button;
+ }
+
+ @Override
+ public void setMode(QuitMode mode) {
+ this.quitMode = mode;
+ switch (quitMode) {
+ case QUIT_PROCESS:
+ messageLabel
+ .setText("Beim Beenden geht das aktuelle Spiel verloren");
+ break;
+ case QUIT_GAME:
+ messageLabel.setText("Der aktuelle Spielstand geht verloren");
+ }
+ }
+
+ @Override
+ public QuitMode getQuitMode(){
+ return quitMode;
+ }
+
+ @Override
+ public Event getQuitEvent() {
+ return quitEvent;
+ }
+
+ @Override
+ public Event getCancelEvent() {
+ return cancelEvent;
+ }
+}