1
J2MEでは、現在の時刻を表示するStringItemでフォームを作成しました。しかし、私は毎分このStringItemを更新したい。 まず、Thread.sleep(60000)を試しましたが、アプリケーション全体が待機しています。 私は新しいスレッドを作成する必要があると思いますか? Threadクラスを拡張するカスタムフォームを作成する必要がありますか?それはJ2MEで可能ですか?スレッドの実装せずにJava MEのフォームにデジタル時計を表示する方法
私のクラス:
import java.util.Calendar;
import java.util.Date;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
public class PtcInputForm extends Form{
public Command okCommand;
public StringItem clock;
public PtcInputForm(String title) {
super(title);
okCommand= new Command("OK", Command.OK, 9);
this.addCommand(okCommand);
showClock();
}
public void showClock(){
String time = getTime();
clock = new StringItem("time:", time);
this.append(clock);
}
public void refreshClock(){
this.clock.setText(this.getTime());
}
private String getTime(){
Calendar c = Calendar.getInstance();
c.setTime(new Date());
String time = addZero(c.get(Calendar.HOUR_OF_DAY),2) +":"+ addZero(c.get(Calendar.MINUTE),2)+":"+addZero(c.get(Calendar.SECOND),2);
return time;
}
private static String addZero(int i, int size) {
String s = "0000"+i;
return s.substring(s.length()-size, s.length());
}
}
非常に素晴らしいexplantion。あなたには感謝します。 – Bakhtiyor