Java Applet - 每帧调用哪种方法?

时间:2018-01-05 13:25:19

标签: java applet awt

我正在为使用LWJGL制作的OpenGL库添加AWT支持,因为LWJGL 3不再支持它了。 我这样做的方法是使用glReadPixels获取屏幕像素,然后将它们作为BufferedImage绘制到画布上。

现在我的问题是我需要每帧更新GLFW窗口。在一个小程序中,是否有一个我可以覆盖的方法,每个帧都被调用,有点像游戏循环?或者我是否必须为此创建一个自定义线程(这会使事情过于复杂,因为我需要为此创建一个新的OpenGL上下文)?

到目前为止我的applet的代码:

package net.rabbit;

import java.applet.Applet;
import java.awt.Graphics;

import xyz.rabbit.lib.framework.Window;

public class Main extends Applet {
    private static final long serialVersionUID = 6092259155082054438L;

    private Window window;

    @Override
    public void init() {
        super.init();
        window = new Window();
        window.setParent(this);
        window.open();
    }

    @Override
    public void paint(Graphics g) {
        System.out.println("Paint");
        window.update();
    }

}

Window类是我自己的类,它处理GLFW和OpenGL特定的东西,但我还是不想绘制任何东西。 window.update()需要尽可能频繁地调用,因为它处理系统事件。

"油漆与#34;运行应用程序时,它只会打印两次到控制台。

我感谢任何帮助,或者就如何以其他方式解决问题提出意见。

0 个答案:

没有答案