Je veux faire l'application d'horloge où l'utilisateur entre le numéro dans la zone de texte et cliquez sur OK, puis l'utilisateur obtenir le numéro à toutes les 1 sec. Exemple si l'utilisateur saisit 5 puis le minuteur démarre l'écran affiche le nombre 1,2,3,4,5,0,1,2,3,4,5,0,1,2,3, ... donc sur.J2me + images sous forme
Maintenant j'avais pris la forme et le champ de texte pour l'utilisateur pour entrer le nombre, puis un temporisateur qui changera le nombre à chaque seconde. Et 10 images de nombre (0-9). Comme je veux indiquer le nombre dedans très grand size.Now je devais mettre en œuvre cette logique de manière suivante: -
public class Clock étend MIDlet implémente CommandListener {
public Command GO, Exit; TextField TxtData; protected Display display; int number, counter; Form form; private Timer timer; private TestTimerTask task; boolean increment, time; private StringItem s1 = new StringItem("", ""); Image image0; Image image1; Image image2; Image image3; Image image4; Image image5; Image image6; Image image7; Image image8; Image image9; Image[] secondAnimation; protected void startApp() { display = Display.getDisplay(this); increment = true; time = false; form = new Form("Clock"); TxtData = new TextField("Number:-", "", 5, TextField.NUMERIC); try { image0 = Image.createImage("/images/0.png"); image1 = Image.createImage("/images/1.png"); image2 = Image.createImage("/images/2.png"); image3 = Image.createImage("/images/3.png"); image4 = Image.createImage("/images/4.png"); image5 = Image.createImage("/images/5.png"); image6 = Image.createImage("/images/6.png"); image7 = Image.createImage("/images/7.png"); image8 = Image.createImage("/images/8.png"); image9 = Image.createImage("/images/9.png"); secondAnimation = new Image[]{image0,image1,image2, image3, image4, image5, image6, image7, image8, image9}; } catch (IOException ex) { System.out.println("exception"); } GO = new Command("Go", Command.OK, 1); Exit = new Command("Exit", Command.EXIT, 2); form.append(TxtData); form.append(s1); form.addCommand(GO); form.addCommand(Exit); form.setCommandListener(this); display.setCurrent(form); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { timer.cancel(); notifyDestroyed(); } public void commandAction(Command cmnd, Displayable dsplbl) { String label = cmnd.getLabel(); if (label.equals("Go")) { try { System.out.println("txt==" + (TxtData.getString())); if (!TxtData.getString().equalsIgnoreCase("")) { counter = Integer.parseInt(TxtData.getString()); if (time) { timer.cancel(); task.cancel(); } number = 1; timer = new Timer(); task = new TestTimerTask(); timer.schedule(task, 1000, 1000); } } catch (NumberFormatException ex) { System.out.println("exception"); } } else if (label.equals("Exit")) { destroyApp(true); } } private class TestTimerTask extends TimerTask { public final void run() { time = true; s1.setText(""+ number); if (counter < 10) { form.append(secondAnimation[0]); form.append(secondAnimation[0]); form.append(secondAnimation[number]); } else if (counter < 100) { form.append(secondAnimation[0]); form.append(secondAnimation[(number % 100)/10]); form.append(secondAnimation[(number % 10)]); } else if (counter < 1000) { form.append(secondAnimation[(number % 10)]); form.append(secondAnimation[(number % 100)/10]); form.append(secondAnimation[(number/100)]); } number++; if (number == counter + 1) { number = 0; } } } }
Mais comme la forme continue annexant l'image comme minuterie se déplace il ne montre pas la sortie désirée!
J'avais essayé de le faire par LWUIT mais comme j'avais des fichiers d'utilisateur 10 .png et en ajoutant le fichier LWUIT.jar, la taille du fichier .jar de 557kb était très lourde. Donc, je veux le faire à travers des formes normales seulement.
Je ne peux pas utiliser la toile comme le clavier peut varier comme (toucher, qwerty etc) .So j'ai besoin de faire la forme normale ou LWUIT seulement.Peut-être quelqu'un s'il vous plaît aidez-moi pour cela.
Avez-vous utilisé mascage? – bharath