0

需要明确的是,我已经研究了五个多小时,我阅读了所有相关问题和 20 多个谷歌搜索,但没有一个对我有用,也没有一个具体描述我的案例。

首先这是我的代码:

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);
}
}

我的问题是重绘方法没有调用绘画方法。更具体地说,如果我从另一个线程调用重绘,或者如果我将绘制方法添加到子类并调用重绘但它在我的代码中不起作用,我会直接从小程序主线程调用它. 请HEEEEELP,我累了

4

0 回答 0