diff options
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; + } +} |