JME: Как получить полный экран в белом цвете без кнопок и т. Д. И т. Д.

Пожалуйста, посмотрите на следующий код

Во-первых, обратите внимание, что я на 100% новичок в Java Mobile.

Здесь я включаю свет и включаю его, когда пользователь нажимает кнопку. Тем не менее, я действительно хотел создать приложение SOS, которое бы превращало весь экран в белый и переходило к черному, как этот, в потоке. Я полагаю, что этого приложения я не достиг, потому что даже свет включен, кнопки все еще там. Я пытался включить "форму" цвет "белый" но кажется, что у JME нет «Цвета» учебный класс.

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Midlet extends MIDlet{

    private Form f;
    private Display d;
    private Command start,stop;
    private Thread t;

    public Midlet()
    {
        t = new Thread(new TurnLightOn());

    }

    public void startApp() 
    {
        f = new Form("Back Light On");


       d = Display.getDisplay(this);
       d.setCurrent(f);        

       start = new Command("Turn On",Command.OK,0);
       stop = new Command("Turn Off",Command.OK,1);

       f.addCommand(start);
       f.setCommandListener(new Action());



    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional)
    {
        this.notifyDestroyed();
    }

    private class Action implements CommandListener
    {

        public void commandAction(Command c, Displayable dis) 
        {
            f.append("Light is Turnning On");

            t.start();

        }

    }

     private class ActionOff implements CommandListener
    {

        public void commandAction(Command c, Displayable dis) 
        {


        }

    }

    private class TurnLightOn implements Runnable
    {

        public void run() 
        {
            f.append("Working");
            for(int i=0;i<100;i++)
            {

                try 
                {

                    d.flashBacklight(200);
                    d.vibrate(200);

                    Thread.sleep(1000);

                } 
                catch (InterruptedException ex)
                {
                    ex.printStackTrace();
                }
            }
        }

    }
}

Ответы на вопрос(2)

Решение Вопроса
    public void startApp() 
        {
            f = new Form("Back Light On");


           d = Display.getDisplay(this);


           start = new Command("Turn On",Command.OK,0);
           stop = new Command("Turn Off",Command.OK,1);

           f.addCommand(start);
           f.setCommandListener(new Action());

    myCanvas = new MyCanvas();
     d.setCurrent(myCanvas);   
            myCanvas.repaint();

}

Теперь создайте холст и реализуйте метод рисования следующим образом:

  class MyCanvas extends Canvas {
            public void paint(Graphics g) {
                // create a 20x20 black square in the center

                // clear the screen first
                g.setColor(0xffffff);
                g.fillRect(0, 0, getWidth(), getHeight());

                g.setColor(0xffffff); // make sure it is white color

                // draw the square, <b>changed to rely on instance variables</b>
                <b>g.fillRect(x, y, getWidth(), getHeight());</b>
            }
        }
 PeakGen13 июн. 2012 г., 21:24
Отлично. Большое спасибо :)

Использоватьjavax.microedition.lcdui.Canvas вместо формы.Этот пример могу начать

 PeakGen13 июн. 2012 г., 21:24
Большое спасибо за ответ. Очень признателен :)

Ваш ответ на вопрос