summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/LoginPanel.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-06-10 16:00:03 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-06-10 16:00:03 +0200
commit9c281a73c0a3470289a9f96cecb42b02554aa44d (patch)
treea9103c50b5e64d68d0a20d8a4435390b8b7ba95c /src/jrummikub/view/impl/LoginPanel.java
parente7ee6778b020b555ce5e4a2e96d850b19ba02e35 (diff)
downloadJRummikub-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.java97
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;
+ }
+}