diff options
author | Ida Massow <massow@informatik.uni-luebeck.de> | 2011-06-19 22:27:21 +0200 |
---|---|---|
committer | Ida Massow <massow@informatik.uni-luebeck.de> | 2011-06-19 22:27:21 +0200 |
commit | fc6d3d46db69c639557462a49ccb16463df91617 (patch) | |
tree | 3d1021e1e806dfb2e9649d689d0fd7eaa6984dde /src/jrummikub/view/impl/QuitWarningPanel.java | |
parent | 45656861ab2e618938764f0c46f830184099a71d (diff) | |
download | JRummikub-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.java | 95 |
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; + } +} |