import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.util.*; import javax.microedition.rms.RecordStore; import javax.microedition.rms.RecordStoreException; import javax.microedition.rms.InvalidRecordIDException; import javax.microedition.rms.RecordEnumeration; class Uppgift { String system; String användarnamn; String lösenord; public Uppgift(String system, String användarnamn, String lösenord) { this.system = system; this.användarnamn = användarnamn; this.lösenord = lösenord; } public boolean equals(Object o) { if (!(o instanceof Uppgift)) return false; Uppgift rhs = (Uppgift)o; return this.system.equals(rhs.system); } } // Uppgift public class Losenord extends MIDlet implements CommandListener { private Display displayen; private List listan; private Form formuläret; private TextField system; private TextField användarnamn; private TextField lösenord; private Command avsluta; private Command nytt; private Command välj; private Command spara; private Command tillbaka; private Vector vektorn; public Losenord() { listan = new List("Lösenord", Choice.EXCLUSIVE); formuläret = new Form("Redigeringsformulär"); system = new TextField("System", "", 30, 0); användarnamn = new TextField("Användarnamn", "", 30, 0); lösenord = new TextField("Lösenord", "", 30, 0); avsluta = new Command("Avsluta", Command.EXIT, 0); nytt = new Command("Nytt", Command.SCREEN, 0); välj = new Command("Välj", Command.SCREEN, 0); spara = new Command("Spara", Command.SCREEN, 0); tillbaka = new Command("Tillbaka", Command.SCREEN, 0); formuläret.append(system); formuläret.append(användarnamn); formuläret.append(lösenord); formuläret.addCommand(avsluta); formuläret.addCommand(spara); formuläret.addCommand(tillbaka); formuläret.setCommandListener(this); listan.addCommand(avsluta); listan.addCommand(nytt); listan.addCommand(välj); listan.setCommandListener(this); vektorn = new Vector(); } public void startApp() { displayen = Display.getDisplay(this); displayen.setCurrent(listan); } public void destroyApp(boolean unconditional) { } public void pauseApp() { } public void commandAction(Command kommandot, Displayable displayable) { if (kommandot == avsluta) { destroyApp(false); notifyDestroyed(); } else if (kommandot == nytt) { system.setString(""); användarnamn.setString(""); lösenord.setString(""); displayen.setCurrent(formuläret); } else if (kommandot == välj) { int i = listan.getSelectedIndex(); if (i != -1) { Uppgift u = (Uppgift)vektorn.elementAt(i); system.setString(u.system); användarnamn.setString(u.användarnamn); lösenord.setString(u.lösenord); } else { system.setString(""); användarnamn.setString(""); lösenord.setString(""); } displayen.setCurrent(formuläret); } else if (kommandot == spara) { String s = system.getString(); String n = användarnamn.getString(); String l = lösenord.getString(); int i = index_i_vektorn(s); if (s.equals("")) { // Inget systemnamn } else if (i == -1) { // Lägg till ett nytt system Uppgift u = new Uppgift(s, n, l); vektorn.addElement(u); listan.append(s, null); } else { // Ändra data om ett gammalt system Uppgift u = (Uppgift)vektorn.elementAt(i); u.användarnamn = n; u.lösenord = l; } displayen.setCurrent(listan); } else if (kommandot == tillbaka) { displayen.setCurrent(listan); } } // commandAction private int index_i_vektorn(String system) { for (int i=0; i < vektorn.size(); i++) { Uppgift u = (Uppgift)vektorn.elementAt(i); if (u.system.equals(system)) return i; } return -1; } } // class Lösenord