Hallo!
Ich möchte einen Counter programmieren und diesen gerne in einer TextBox ausgeben.
Das mit dem Counter funktioniert schon so wie ich es möchte. Ich weiß nur nicht wie ich das ganze
in eine TextBox packen soll.
Wenn ich die TextBox unter startApp() mit display.setCurrent() angebe, dann kann ich mein Menü nicht mehr
öffnen.
Vielleicht hat ja jemand einen Tipp.
Ich möchte einen Counter programmieren und diesen gerne in einer TextBox ausgeben.
Das mit dem Counter funktioniert schon so wie ich es möchte. Ich weiß nur nicht wie ich das ganze
in eine TextBox packen soll.
Wenn ich die TextBox unter startApp() mit display.setCurrent() angebe, dann kann ich mein Menü nicht mehr
öffnen.
Vielleicht hat ja jemand einen Tipp.
Code:
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;
public class Stoppuhr extends MIDlet implements CommandListener, Runnable {
Thread t = null;
int i = 0;
int counter = 0;
String s = Integer.toString(counter);
TextBox tb = new TextBox("Counter", s, 100, TextField.NUMERIC);
private Display display;
private Command menu1 = new Command("Start", Command.ITEM, 1),
menu2 = new Command("Stop", Command.ITEM, 1),
menu3 = new Command("Cancel", Command.EXIT, 2),
menu4 = new Command("Pause", Command.STOP, 3),
menu5 = new Command("Counter", Command.SCREEN, 4);
private Form f = new Form("Start der App");
public Stoppuhr() {
f.append("Menu o?ffnen!");
f.addCommand(menu1);
f.addCommand(menu2);
f.addCommand(menu3);
f.addCommand(menu4);
tb.addCommand(menu5);
f.setCommandListener(this);
}
public void startApp()
throws MIDletStateChangeException {
display = Display.getDisplay(this);
display.setCurrent(f);
if (t == null) {
t = new Thread(this);
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == menu3) {
notifyDestroyed();
} else if (c == menu1) {
t.start();
} else if (c == menu2) {
reset();
} else if (c == menu4) {
stopAll();
}
}
public void run() {
Thread thisThread = Thread.currentThread();
while (t == thisThread) {
try {
Thread.sleep(100);
counter++;
System.out.println(counter);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public void stopAll() {
t = null;
}
public void reset() {
counter = 0;
}
}