Hej.
Jeg har efterhånden brugt et par dage på at se om jeg ikke kunne se hvad jeg havde lavet galt, men jeg har nok stirret mig blindt på det.
Det er et meget simpelt login jeg vil lave hvor man bliver logget ind hvis ens password er korrekt. Der er ingen brugernavne eller flere brugere.. Kun en, men denne skal kunne rette sit password hvis han eller hun ønsker det.
Det jeg har laver ser sådan ud:
I min password klasse har jeg:
public class Password implements Serializable {
private String password = "";
/** Creates a new instance of Password */
public Password() {
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString() {
return password;
}
}
I min PasswordList klasse har jeg:
public class PasswordList implements Serializable {
private ArrayList<Password> passwords = new ArrayList<Password>();
/** Creates a new instance of PasswordList */
public PasswordList() {
}
public void addPassword( Password password ) {
getPasswords().add( password );
}
public Password hentPassword( String password ) {
System.out.println("finder password " + password );
for( Password elem : passwords ) {
if (elem.getPassword().equals( password ) ) {
System.out.println("fandt password '" + elem + "'");
new RetVare().setVisible(true);
//return elem;
}
}
System.out.println("Forkert password");
return null;
}
I min GUI har jeg følgende kode til at kunne rette mit password:
private PasswordList passwords = new PasswordList();
private void jButtonGemPasswordActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Password password = new Password();
password.setPassword( jTextFieldRetPassword.getText() );
passwords.addPassword(password);
System.out.println( "Password er nu: " + passwords.getPasswords().toArray() );
try
{
GemOgHent save = new GemOgHent();
save.gemPass( password, "pass.dat" );
JOptionPane.showMessageDialog(null, "Dit password er rettet" );
}
catch( Exception error )
{
jTextFieldOplysningsFelt.setText( "Dit ny password kunne ikke gemmes. " + error.toString() );
}
}
I min IndtastPassword GUI har jeg denne kode til at indlæse min serialiseret "password fil" og herefter sammenligner om passwordet i min ArrayList er ens med det der er indtastet:
private PasswordList passwords = new PasswordList();;
private void jButtonSendPassActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try
{
GemOgHent get = new GemOgHent();
passwords = (PasswordList) get.hentPass( "pass.dat" );
}
catch( Exception error )
{
JOptionPane.showMessageDialog(null, "Passwordlisten kunne desværre ikke indlæses!" );
}
Password password = (Password) passwords.hentPassword(jTextField1.getText() );
System.out.println( passwords + "" + password );
}
Jeg kan simpelthen ikke se hvor je ghar lavet fejlen og håber derfor at der er en eller flere der kan hjælpe mig. Gerne med uddybende svar / forklaring.
På forhånd tak for hjælpen.