diff options
author | Ida Massow <massow@informatik.uni-luebeck.de> | 2011-06-10 16:00:03 +0200 |
---|---|---|
committer | Ida Massow <massow@informatik.uni-luebeck.de> | 2011-06-10 16:00:03 +0200 |
commit | 9c281a73c0a3470289a9f96cecb42b02554aa44d (patch) | |
tree | a9103c50b5e64d68d0a20d8a4435390b8b7ba95c /src/jrummikub/view/impl/LoginPanel.java | |
parent | e7ee6778b020b555ce5e4a2e96d850b19ba02e35 (diff) | |
download | JRummikub-9c281a73c0a3470289a9f96cecb42b02554aa44d.tar JRummikub-9c281a73c0a3470289a9f96cecb42b02554aa44d.zip |
View-Komponente des Logins für Netzwerk-Spiele
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@396 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/LoginPanel.java')
-rw-r--r-- | src/jrummikub/view/impl/LoginPanel.java | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/jrummikub/view/impl/LoginPanel.java b/src/jrummikub/view/impl/LoginPanel.java new file mode 100644 index 0000000..ca9f37f --- /dev/null +++ b/src/jrummikub/view/impl/LoginPanel.java @@ -0,0 +1,97 @@ +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.Box; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.border.CompoundBorder; +import javax.swing.border.EmptyBorder; +import javax.swing.border.LineBorder; + +import jrummikub.util.Event; +import jrummikub.util.Event3; +import jrummikub.util.IEvent; +import jrummikub.util.IEvent3; +import jrummikub.view.ILoginPanel; + +@SuppressWarnings("serial") +class LoginPanel extends JPanel implements ILoginPanel { + private Event3<String, String, String> loginEvent = new Event3<String, String, String>(); + private Event cancelEvent = new Event(); + private JTextField userNameField; + private JTextField passwordField; + private JTextField channelNameField; + + LoginPanel() { + setLayout(new GridBagLayout()); + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.gridwidth = GridBagConstraints.REMAINDER; + c.weightx = 1; + c.weighty = 1; + + userNameField = addInputRow("Benutzername:"); + passwordField = addInputRow("Passwort:"); + channelNameField = addInputRow("Channel:"); + add(Box.createVerticalGlue(), c); + + c.gridwidth = 1; + c.weighty = 0; + + JButton loginButton = new JButton("Login"); + loginButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent arg0) { + loginEvent.emit(userNameField.getText(), + passwordField.getText(), channelNameField.getText()); + } + }); + add(loginButton, c); + + c.gridwidth = GridBagConstraints.REMAINDER; + JButton cancelButton = new JButton("Abbrechen"); + cancelButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent arg0) { + cancelEvent.emit(); + } + }); + add(cancelButton, c); + + setBorder(new CompoundBorder(new LineBorder(Color.BLACK), + new EmptyBorder(10, 10, 10, 10))); + } + + @Override + public IEvent3<String, String, String> getLoginEvent() { + return loginEvent; + } + + @Override + public IEvent getCancelEvent() { + return cancelEvent; + } + + private JTextField addInputRow(String label) { + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.gridwidth = 1; + c.weightx = 1; + c.weighty = 0; + + add(new JLabel(label), c); + + JTextField textField = new JTextField(); + + c.gridwidth = GridBagConstraints.REMAINDER; + add(textField, c); + return textField; + } +} |