Witam,
Zaczynam przygodę z Javą ME.
Projekt tworze w konfiguracji CLDC-1.0 i MIDP-2.0.
Potrzebuję utworzyć liste graczy, których imiona będą wpisywane w formularzu:
public class Form1 extends Form
implements CommandListener, ItemStateListener{
TextField txtName;
StringItem txtNum;
public Form1() {
super("Dodaj zawodnika");
addCommand(new Command("Koniec", Command.EXIT, 1));
addCommand(new Command("Dalej", Command.OK, 2));
setCommandListener(this);
setItemStateListener(this);
append(txtNum = new StringItem("Numer zawodnika: ","1"));
append(txtName = new TextField("Imie: ","", 15, TextField.ANY));
Display.getDisplay(Midlet.getMidlet()).setCurrent(this);
}
public void commandAction(Command c, Displayable d){
switch(c.getCommandType()){
case Command.EXIT:
Midlet.getMidlet().Exit(); // zamyka się cały program - a taki eksperyment
break;
case Command.OK:
//txtName.getString();
txtName.setString("");
//txtNum.setText("2"); TEST
/** Dodanie nowego elementu do listy */
break;
}
}
public void itemStateChanged(Item item){
}
}
Formatka wyświetlana jest w ten sposób:
public class Midlet extends MIDlet {
private static Midlet midletInstance;
public Midlet(){
midletInstance = this;
new Form1();
}
public static Midlet getMidlet(){
return midletInstance;
}
public void Exit(){
destroyApp(false);
notifyDestroyed();
}
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Tak wygląda klasa zawodnika:
public class Player {
private String name;
private Integer position;
public Player(){
}
/* ... tutaj jeszcze będzie kod ;] */
}
Wcześniej programowałem w czystym C i ciężko mi się tutaj połapać. Potrzebuję w głównym midlecie zrobić listę zawodników(chyba będzie najlepiej - formatka będzie wywoływać funkcję w głównym midlecie który będzie zarządzać listą[dodatać/odczytywać parametry zawodnika]). Każdy element ma być dodawany po wpisaniu imienia zawodnika. Po kliknięciu "Zamknij" formatka ma zostać zniszczona i wyświetlona inna.
Moje pytania są następujące:
- Jak zrobić listę obiektu Player, aby dynamicznie dodawać elementy? Czytałem o ArrayList, ale to nie działa mi na ME.
- Nie wiem jak połączyć formatkę z głównym programem, pasowałoby mi coś takiego(jeśli jest lepszy sposób w Javie to proszę mnie poprawić)
public Midlet(){
midletInstance = this;
new Form1();
/* dalszy kod który wykona się po zamknięciu formatki - w delphi było coś takiego jak ShowModal - forma działa jak okienko do wpisywania danych*/
}
Piszę program w NetBeans 6.8.
Proszę o pomoc.