Java repaint() не вызывает paint () в апплете

Чтобы быть ясным, я занимаюсь исследованиями более пяти часов, я прочитал все связанные вопросы и более 20 поисковых запросов в Google, ни один из них не работал для меня, и никто из них не описал мой случай конкретно.

Прежде всего, вот мой код:

import java.util.*;
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.io.IOException;
import static Debug.StaticVar.*;

/*
<applet code="ImageTest" width=300 height=100>
</applet>
*/

public class ImageTest extends Applet {
Image img;
MediaTracker tracker;

public void init() {
    tracker = new MediaTracker(this);
    Thread Loader = new Thread(() -> {
        img = getImage(getCodeBase(), "1.jpg");
        tracker.addImage(img, 1);
    });
    Loader.setPriority(10);
    Loader.start();
}

public void start() {
    try {
        tracker.waitForAll();
        repaint();
    } catch (InterruptedException e) {
    }
}

public void paint(Graphics g) {
    g.drawImage(img, 0, 0, null);
}
}

Моя проблема в том, что метод перекраски не вызывает метод рисования. Чтобы быть более точным, метод paint выполняется, если я вызываю repaint из другого потока или если я добавляю метод paint в дочерний класс и вызываю repaint, но он не работает в моем коде, где я напрямую вызываю его из основного потока апплета, Пожалуйста, HEEEEELP, я устал

0 ответов

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