ciao a tutti...ho insertito una password per aprire un programma...ma quando digito la password giusta non fa nulla!!! mi spiego meglio....
allora per aprire il programma senza JPasswrodField scrivo:
in questo modo mi apre il programma e funziona benissimo!!!codice:public Main() { super(); inizio(); getContentMenuBar(); comboShow(); }
dopo do inserito il JPasswordField in questo modo:
codice:public Main() { super(); JFrame frame = new JFrame("Password"); JLabel jlbPassword = new JLabel("Enter the password: "); JPasswordField pass = new JPasswordField(10); pass.setEchoChar('*'); pass.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JPasswordField input = (JPasswordField)e.getSource(); char[] password = input.getPassword(); if (isPasswordCorrect(password)) { JOptionPane.showMessageDialog(null, "Password giusta."); inizio(); getContentMenuBar(); comboShow(); } else { JOptionPane.showMessageDialog(null, "Password Errata.","Errore", JOptionPane.ERROR_MESSAGE); } } }); JPanel jplContentPane = new JPanel(new BorderLayout()); jplContentPane.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); jplContentPane.add(jlbPassword, BorderLayout.WEST); jplContentPane.add(pass, BorderLayout.CENTER); frame.setContentPane(jplContentPane); frame.setSize(00, 100); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.setLocationRelativeTo(null); frame.setVisible(true); }in questo modo quando digito la password "giuseppe" mi esce il messaggio ma non esce il programma....come mai????codice:private static boolean isPasswordCorrect(char[] inputPassword) { char[] actualPassword = { 'g', 'i', 'u', 's', 'e', 'p', 'p', 'e'}; if (inputPassword.length != actualPassword.length) return false; for (int i = 0; i < inputPassword.length; i ++) if (inputPassword[i] != actualPassword[i]) return false; return true; }![]()
![]()

Rispondi quotando


