1 package org
.argeo
.security
.core
;
3 import java
.awt
.Container
;
4 import java
.awt
.GridLayout
;
6 import java
.awt
.event
.ActionEvent
;
7 import java
.awt
.event
.ActionListener
;
8 import java
.util
.Arrays
;
10 import javax
.swing
.JButton
;
11 import javax
.swing
.JDialog
;
12 import javax
.swing
.JFrame
;
13 import javax
.swing
.JLabel
;
14 import javax
.swing
.JPanel
;
15 import javax
.swing
.JPasswordField
;
16 import javax
.swing
.JTextField
;
18 public class UserPasswordDialog
extends JDialog
implements ActionListener
{
19 private static final long serialVersionUID
= -9052993072210981198L;
20 private static String OK
= "ok";
22 private JTextField username
= new JTextField("", 10);
23 private JPasswordField password
= new JPasswordField("", 10);
25 private JButton okButton
;
26 private JButton cancelButton
;
28 public UserPasswordDialog() {
29 setTitle("Credentials");
31 setLocationRelativeTo(null);
32 setDefaultCloseOperation(JFrame
.DISPOSE_ON_CLOSE
);
34 JPanel p1
= new JPanel(new GridLayout(2, 2, 3, 3));
35 p1
.add(new JLabel("User"));
37 p1
.add(new JLabel("Password"));
38 password
.setActionCommand(OK
);
39 password
.addActionListener(this);
43 Panel p2
= new Panel();
44 okButton
= addButton(p2
, "OK");
45 okButton
.setActionCommand(OK
);
46 cancelButton
= addButton(p2
, "Cancel");
53 /** To be overridden */
54 protected void useCredentials(String username
, char[] password
) {
58 private JButton
addButton(Container c
, String name
) {
59 JButton button
= new JButton(name
);
60 button
.addActionListener(this);
65 public final void actionPerformed(ActionEvent evt
) {
66 Object source
= evt
.getSource();
67 if (source
== okButton
|| evt
.getActionCommand().equals(OK
)) {
68 char[] p
= password
.getPassword();
69 useCredentials(username
.getText(), p
);
72 } else if (source
== cancelButton
)
76 private void cleanUp() {
81 public static void main(String
[] args
) {
82 UserPasswordDialog dialog
= new UserPasswordDialog() {
83 private static final long serialVersionUID
= -891646559691412088L;
85 protected void useCredentials(String username
, char[] password
) {
86 System
.out
.println(username
+ "/" + new String(password
));
89 dialog
.setVisible(true);
90 System
.out
.println("After show");