1 32 33 package it.businesslogic.ireport.gui; 34 import it.businesslogic.ireport.util.I18n; 35 import java.lang.reflect.InvocationTargetException ; 36 import javax.swing.SwingUtilities ; 37 38 42 public class PasswordDialog extends javax.swing.JDialog { 43 44 private String password = ""; 45 private int response = javax.swing.JOptionPane.CANCEL_OPTION; 46 47 public PasswordDialog(java.awt.Frame parent, boolean modal) { 48 super(parent, modal); 49 initComponents(); 50 51 this.setSize( 300, 164 ); 52 it.businesslogic.ireport.util.Misc.centerFrame(this); 53 54 55 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 56 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 57 public void actionPerformed(java.awt.event.ActionEvent e) { 58 jButton2ActionPerformed(e); 59 } 60 }; 61 62 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 63 getRootPane().getActionMap().put("ESCAPE", escapeAction); 64 65 applyI18n(); 66 this.getRootPane().setDefaultButton(this.jButton1); 68 69 } 70 71 76 private void initComponents() { 78 jPanel1 = new javax.swing.JPanel (); 79 jButton1 = new javax.swing.JButton (); 80 jLabel1 = new javax.swing.JLabel (); 81 jLabel2 = new javax.swing.JLabel (); 82 jPasswordField1 = new javax.swing.JPasswordField (); 83 jSeparator1 = new javax.swing.JSeparator (); 84 jButton2 = new javax.swing.JButton (); 85 86 getContentPane().setLayout(null); 87 88 setTitle("Database password"); 89 setResizable(false); 90 addWindowListener(new java.awt.event.WindowAdapter () { 91 public void windowClosing(java.awt.event.WindowEvent evt) { 92 closeDialog(evt); 93 } 94 }); 95 96 jPanel1.setLayout(null); 97 98 jPanel1.setMaximumSize(new java.awt.Dimension (290, 130)); 99 jButton1.setText("Ok"); 100 jButton1.setMaximumSize(new java.awt.Dimension (50, 34)); 101 jButton1.setMinimumSize(new java.awt.Dimension (50, 34)); 102 jButton1.setPreferredSize(new java.awt.Dimension (50, 34)); 103 jButton1.addActionListener(new java.awt.event.ActionListener () { 104 public void actionPerformed(java.awt.event.ActionEvent evt) { 105 jButton1ActionPerformed(evt); 106 } 107 }); 108 109 jPanel1.add(jButton1); 110 jButton1.setBounds(70, 90, 70, 24); 111 112 jLabel1.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/password.png"))); 113 jPanel1.add(jLabel1); 114 jLabel1.setBounds(10, 0, 90, 80); 115 116 jLabel2.setText("Password"); 117 jPanel1.add(jLabel2); 118 jLabel2.setBounds(90, 20, 130, 14); 119 120 jPanel1.add(jPasswordField1); 121 jPasswordField1.setBounds(90, 40, 180, 23); 122 123 jPanel1.add(jSeparator1); 124 jSeparator1.setBounds(10, 80, 260, 2); 125 126 jButton2.setText("Cancel"); 127 jButton2.setPreferredSize(new java.awt.Dimension (50, 34)); 128 jButton2.setMaximumSize(new java.awt.Dimension (50, 34)); 129 jButton2.setMinimumSize(new java.awt.Dimension (50, 34)); 130 jButton2.addActionListener(new java.awt.event.ActionListener () { 131 public void actionPerformed(java.awt.event.ActionEvent evt) { 132 jButton2ActionPerformed(evt); 133 } 134 }); 135 136 jPanel1.add(jButton2); 137 jButton2.setBounds(150, 90, 80, 24); 138 139 getContentPane().add(jPanel1); 140 jPanel1.setBounds(0, 0, 290, 130); 141 142 pack(); 143 } 145 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { response = javax.swing.JOptionPane.CANCEL_OPTION; 147 password=""; 148 setVisible(false); 149 dispose(); 150 } 152 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 154 response = javax.swing.JOptionPane.OK_OPTION; 155 char chars[] = this.jPasswordField1.getPassword(); 156 if (chars != null) 157 { 158 password = new String (chars); 159 } 160 else 161 password = ""; 162 chars = null; 163 164 setVisible(false); 165 dispose(); 166 167 } 169 170 private void closeDialog(java.awt.event.WindowEvent evt) { setVisible(false); 172 dispose(); 173 } 175 178 public static void main(String args[]) { 179 new PasswordDialog(new javax.swing.JFrame (), true).setVisible(true); 180 } 181 182 186 public java.lang.String getPassword() { 187 return password; 188 } 189 190 194 public void setPassword(java.lang.String password) { 195 this.password = password; 196 } 197 198 202 public int getResponse() { 203 return response; 204 } 205 206 210 public void setResponse(int response) { 211 this.response = response; 212 } 213 214 private javax.swing.JButton jButton1; 216 private javax.swing.JButton jButton2; 217 private javax.swing.JLabel jLabel1; 218 private javax.swing.JLabel jLabel2; 219 private javax.swing.JPanel jPanel1; 220 private javax.swing.JPasswordField jPasswordField1; 221 private javax.swing.JSeparator jSeparator1; 222 224 public void applyI18n(){ 225 jButton1.setText(I18n.getString("passwordDialog.button1","Ok")); 227 jButton2.setText(I18n.getString("passwordDialog.button2","Cancel")); 228 jLabel2.setText(I18n.getString("passwordDialog.label2","Password")); 229 } 231 232 public static String askPassword() 233 { 234 final PasswordDialog pd = new PasswordDialog(it.businesslogic.ireport.gui.MainFrame.getMainInstance(), true); 235 236 Runnable r = new Runnable () { 237 public void run() { 238 pd.setVisible(true); 239 } 240 }; 241 242 if (!SwingUtilities.isEventDispatchThread()) 243 { 244 try { 245 SwingUtilities.invokeAndWait( r ); 246 } catch (InvocationTargetException ex) { 247 ex.printStackTrace(); 248 } catch (InterruptedException ex) { 249 ex.printStackTrace(); 250 } 251 } 252 else 253 { 254 r.run(); 255 } 256 257 return pd.getPassword(); 258 259 } 260 } 261 | Popular Tags |