如何从Applet制作Frame?

How to make Frame from Applet?

我有 aplet,我正在尝试用它制作简单的框架。 我应该只将 extends Apllet 更改为 extends JFrame

public class Main extends Applet {

    public void init() {

    }
}

我将其修复为:

public class Main extends JFrame {

    public Main () {

    }

    public static void main (String args[]) {
        Main m1 = new Main();
        m1.setVisible(true);
        m1.setSize(300, 300);
    }
}

更新!

THERE IS MY CODE - PASTEBIN

日食:

Exception in thread "main" java.lang.NullPointerException
    at stack.WireframeViewer.<init>(WireframeViewer.java:67)
    at stack.WireframeViewer.main(WireframeViewer.java:162)

这很容易。你是在正确的方式来实现这一点。从 JFrame 而不是 Applet 扩展你的 class 并像你已经做的那样添加一个 main 方法。
但是这里需要这样写:

public static void main(String args[]){
    Main main = new Main();
    main.setSize(300, 300);
    main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    main.setVisible(true);
    main.init();
}

请注意这里的最后一个电话!您需要手动调用 init 方法,因为这对 Applet 是自动的,但对 JFrames 不是。并且这必须在 setVisible 之后完成,因为您不会在之前获得框架的 widthheight

此外,您必须删除 paint 方法中的 showStatus(...) 调用,因为这是针对 Applet 的。在 JFrames 中,您需要为此添加 JLabelJTextField