dobra, robie tak:
package app;
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class zegar extends MIDlet{
private Plotno plotno;
private Display ekran;
public zegar(){
}
public void startApp(){
ekran = Display.getDisplay(this);
plotno = new Plotno();
ekran.setCurrent(plotno);
}
public void pauseApp(){}
public void destroyApp(boolean uncond){}
}
class Plotno extends Canvas implements Runnable{
private Date d;
private Calendar c = Calendar.getInstance();
private String time;
private Graphics g;
Plotno(){
setFullScreenMode(true);
}
protected void paint(Graphics g) {
g.setColor(0,0,0);
g.fillRect(0,0,400,400);
g.setColor(255,255,255);
g.drawString(time,0,0,0);
}
public void run() {
while(true){
d = new Date();
c.setTime(d);
time = c.get(Calendar.HOUR_OF_DAY) + ":" +c.get(Calendar.MINUTE)
+ ":" + c.get(Calendar.SECOND);
repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}
pokazuje sie czarny ekran i nie rusza, co zle?
edit: problem rozwiazany, dla potomnych pokaze co zrobilem:
package app;
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class zegar extends MIDlet{
private Plotno plotno;
private Display ekran;
public zegar(){
}
public void startApp(){
ekran = Display.getDisplay(this);
plotno = new Plotno();
ekran.setCurrent(plotno);
}
public void pauseApp(){}
public void destroyApp(boolean uncond){}
}
class Plotno extends Canvas{
private Date d;
private Calendar c = Calendar.getInstance();
private String time;
private Graphics g;
private Timer tm;
private TestTimerTask tt;
Plotno(){
setFullScreenMode(true);
tm = new Timer();
tt = new TestTimerTask();
tm.schedule(tt,5000,1000);
}
protected void paint(Graphics g) {
g.setColor(0,0,0);
g.fillRect(0,0,400,400);
g.setColor(255,255,255);
g.drawString(time,0,0,0);
}
private class TestTimerTask extends TimerTask
{
public final void run()
{
d = new Date();
c.setTime(d);
time = c.get(Calendar.HOUR_OF_DAY) + ":" +c.get(Calendar.MINUTE)
+ ":" + c.get(Calendar.SECOND);
repaint();
}
}
}