Когда будет запущен метод перекраски формы в LWUIT

Я использовал LWUIT для разработки проекта Xlet в эмуляторе. Проект является многопоточным, когда один из потоков завершает свою работу, затем умирает или просто входит в состояние wain(), вызывается метод отображения формы repaint(), и экран мигает (белый экран в течение времени выстрела, а затем обратно). к нормальной жизни).

Часть кода ниже:

public class LwuitWhiteScreenXlet implements Xlet {
    private Image bgImage;
    Form form;
    Thread thread;
    public void destroyXlet(boolean arg0) throws XletStateChangeException {
            // TODO Auto-generated method stub

    }

    public void initXlet(XletContext arg0) throws XletStateChangeException {
        form = new Form();
    /*Form initialize, code omitted*/
    }

    public void pauseXlet() {
        // TODO Auto-generated method stub

    }

    public void startXlet() throws XletStateChangeException {
    System.out.println("Xlet startXlet START++++++++++++++++++++");
    thread = new Thread((new Runnable() {
        public void run() {
        Image image = null;
        try {
            image = Image.createImage("/res/arrow.png");
        } catch (IOException e) {
            e.printStackTrace();
        }
        Label labelTmp = new AnimatedLabel(image, 3);
        }
    }));
    thread.start();
    form.show();
    System.out.println("Xlet startXlet END ------------------");
    }
}

Кто-нибудь тоже сталкивался с этой проблемой?

1 ответ

Вы заменяете код LWUIT на EDT, что не разрешено и не поддерживается. Я предлагаю посмотреть на реализацию Animation интерфейс и использование registerAnimated() в Form,

Другие вопросы по тегам