Как сделать плавное движение строки по Canvas?

270
21 ноября 2017, 21:20

Я написал отдельный класс потока, в котором двигаю строку по канвасу. И проблема в том, что если я делаю .repaint(), то большую часть времени строку вообще не видно, а если не делаю - строка остаётся на прошлом месте, и в итоге получается движущееся пятно. Как сделать адекватное передвижение строки по канвасу, используя поток?

class MyThreads extends Thread  {
    Authorization reglog;
    Graphics g;
    Dimension dim;
    SimpleWind s;
    public MyThreads(SimpleWind draw){
        g = draw.getGraphics();
        dim = draw.getSize();
        s = draw;
    }
    public void run(){
        String result = null;
        for(int i = 0;;i++){
            boolean resultOfAuthorization = reglog.getResultOfAuthorization();
            if (resultOfAuthorization) {
                result = "Succesfully entered";
            } else {
                result = "You are not entered yet.";
            }
            g.drawString(result, i, 50);
            s.repaint();
            try {
                Thread.sleep(100);
            } catch (InterruptedException ex) {}
        }
    }
}
READ ALSO
файл занят другим процессом Commons FileUpload Java

файл занят другим процессом Commons FileUpload Java

Либа commons fileuploadЕсть код для загрузки файлов:

278
Поворот экрана при запуске приложения Android

Поворот экрана при запуске приложения Android

Как сделать, чтобы при запуске приложения оно запускалось сразу в landscape моде, игнорируя текущую ориентацию телефона?

301
Inline инициализация полей

Inline инициализация полей

Рихтер в свой книге пишет, что если инициализировать поля inline, то в каждом конструкторе генерируется одинаковый IL-код инициализации этих...

308
Кастомный оператор сравнения ==

Кастомный оператор сравнения ==

Здравствуйте! В Unity3D реализована возможность опустить оператор сравнения когда объект проверяется на null, те

306