J'ai fait un programme J2ME sur toile et j'ai utilisé la touche et le code pour compléter le programme! maintenant j'ai un gros problème avec deux commandes d'écran! Je dois utiliser les étiquettes de commande "Ersal" et "Virayesh" comme ci-dessous le code mais le code de commande ne fonctionne pas! Je pourrais utiliser les codes clés (-6), mais je n'ai pas d'étiquettes de commande à l'écran. Alors, quelle est votre solution? puis-je simplement ajouter deux étiquettes dans l'écran ne commande pas ?! ou comment puis-je activer ces commandes void!la commande ne fonctionne pas dans un programme j2me sur toile
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;
import com.sun.midp.io.j2me.comm.WAP;
import com.sun.midp.io.j2me.comm.SDA;
public class Demo extends MIDlet
{
Command ersal = new Command("Ersal", Command.STOP, 1);
Command virayesh = new Command("Virayesh", Command.SCREEN, 1);
private Canvas m_canvas = new DemoCanvas();
private Display m_disp;
int v = 0;
public static final int IME_NOTIFY = -6;
public static final int KEY_ASTERISK = 42;
public static final int KEY_HASH = 35;
String a;
int step = -1;
public Demo() {
// TODO Auto-generated constructor stub
m_disp = Display.getDisplay(this);
m_disp.setCurrent(m_canvas);
}
private class DemoCanvas extends Canvas implements CommandListener
{
private String info = "Barname Estelam\n*:Meno Aval\n\nYek dokme ` `ra\nfeshar dahid";
public DemoCanvas(){}
public void paint(Graphics g)
{
g.setColor(0xFFFFFF);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(0);
g.drawString(info, 0, 5, Graphics.LEFT|Graphics.TOP);
/*
if(step==-1){
step=0;
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
info = "1:moshakhasat\nkhodro \n2:estelam taghib \n3:etelaat malek \n4:estelam khalafi";
repaint();
}
*
*/
}
protected void keyPressed(int keyCode)
{
/*
if(IME_NOTIFY == keyCode){
String m = WAP.GetT9String();
SDA.SDS_SendMsg("20002",m);
info = WAP.GetT9String() + "\nersal shod";
}
*
*/
if(keyCode==42 || step==-1){
info="1:moshakhasat\nkhodro \n2:estelam taghib \n3:etelaat malek \n4:estelam khalafi";
step=0;
a="";
m_canvas.removeCommand(ersal);
m_canvas.removeCommand(virayesh);
//m_disp.setCurrent(m_canvas);
WAP.WAP_InputMethodContents("");
}
String content = WAP.GetT9String();
if(step==2){
step=3;
//tayid T9
m_canvas.addCommand(ersal);
m_canvas.addCommand(virayesh);
String n = WAP.GetT9String();
if(a.equals("11") && n.length()>7)
info = "moshakhasat\nkhodro\n\npelak:\n" + pelakSp(content);
if(a.equals("12") && n.length()>7)
info = "moshakhasat\nkhodro\n\nshomare shasi:\n" + content;
if(a.equals("13") && n.length()>7)
info = "moshakhasat\nkhodro\n\nshomare motor:\n" + content;
if(a.equals("21") && n.length()>7)
info = "estelam taghib\n\npelak:\n" + pelakSp(content);
if(a.equals("31") && n.length()>7)
info = "etelaat malek\n\npelak:\n" + pelakSp(content);
if(a.equals("41") && n.length()>7)
info = "estelam khalafi\n\npelak:\n" + pelakSp(content);
repaint();
}
if(step==1){
if(keyCode==49){
step=2;
a+="1";
//pelak
String c = info;
WAP.WAP_InputMethodContentsLength(8);
WAP.SwitchToT9InputMethod(0);
//bazgasht T9
String b = WAP.GetT9String();
repaint();
}
if(keyCode==50 && a.equals("1")){
step=2;
a+="2";
//shomare shasi0-9
String c = info;
WAP.WAP_InputMethodContentsLength(14);
WAP.SwitchToT9InputMethod(0);
//bazgasht T9
String b = com.sun.midp.io.j2me.comm.WAP.GetT9String();
}
repaint();
if(keyCode==51 && a.equals("1")){
step=2;
a+="3";
//shomare motor
String c = info;
WAP.WAP_InputMethodContentsLength(10);
WAP.SwitchToT9InputMethod(0);
//bazgasht T9
String b = com.sun.midp.io.j2me.comm.WAP.GetT9String();
repaint();
}
}
if(step==0){
if(keyCode==49){
a="1";
info="*Moshakhasat\nkhodro*\n1:Pelak\n2:Shomare Shasi\n3:Shomare Motor";
step=1;
}
if(keyCode==50){
a="2";
info="*Estelam Taghib*\n1:Pelak";
step=1;
}
if(keyCode==51){
a="3";
info="*Moshakhast Malek*\n1:Pelak";
step=1;
}
if(keyCode==52){
a="4";
info="*Estelam Khalafi*\n1:Pelak";
step=1;
}
}
repaint();
}
public void commandAction(Command c, Displayable d) {
String m = WAP.GetT9String();
SDA.SDS_SendMsg("20002",m);
info = WAP.GetT9String() + "\nersal shod";
// throw new UnsupportedOperationException("Not supported yet.");
}
}
protected void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
// TODO Auto-generated method stub
notifyDestroyed();
}
protected void pauseApp() {}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
public String pelakSp(String a){
//tafkike pelak
String m = a.substring(0, 2) + " " + a.substring(2, 3) + " " + a.substring(3, 6) + "-" + a.substring(6, 8);
return m;
}
}
vous voulez dire cela? \t public DemoCanvas() { this.addCommand (ersal); this.addCommand (virayesh); } ne fonctionnait pas! – iman