Java 小程序到Jframe

Java 小程序到Jframe,java,swing,applet,jframe,Java,Swing,Applet,Jframe,我按照kilobolt的教程制作了一个游戏(),然后对它进行了更改。我用过applet,但现在我想把它变成JFrame 我所做的: 1-我导入并扩展了JFrame而不是小程序 2-我已将init方法更改为构造函数并添加了 public static void main(String[] args) { // Use the event dispatch thread to build the UI for thread-safety. SwingUtilities.invokeL

我按照kilobolt的教程制作了一个游戏(),然后对它进行了更改。我用过applet,但现在我想把它变成JFrame

我所做的:

1-我导入并扩展了JFrame而不是小程序

2-我已将init方法更改为构造函数并添加了

public static void main(String[] args)
{
    // Use the event dispatch thread to build the UI for thread-safety.
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new AltMain(); //AltMain is the name of my main class.
        }
    });
}
我从某个地方复制了这段代码,但我不知道这到底是干什么的。我可能会用这个来代替:

public static void main(String[] args){
    new AltMain();
}
我做不到的:

这些需要一些改变:(我现在的首要任务)

GetImage和GetDocumentBase给了我“未定义AltMain类型”错误

我怎样才能修好这些?这些有JFrame等价物吗?此外,由于我无法运行该程序,我不确定是否还有其他必要。还有什么我必须做的吗

以下是我的其他方法:

public void run(){
public void start(){
public void update(Graphics g){
public void paint(Graphics g){
我该如何连接它们呢


代码很长,所以我刚刚发布了一个摘要。如果有必要,我可以写更多的代码。任何帮助都将不胜感激。提前感谢。

您需要了解这些函数的作用,而不仅仅是复制粘贴它们并希望得到最好的结果

但其主要思想是:applet(使用JApplet)有几个自动调用的函数


应用程序(使用JFrame)只有main()方法作为入口点。它不会自动为您调用任何其他函数,因此如果您有现有函数(JApplet函数),则必须从main()方法调用它们。

谢谢您的回答。如果我没有错的话,main方法会创建AltMain类的一个实例,从而调用构造函数类。我只是不知道为什么会有SwingUtilities.invokeLater(new Runnable(){和它下面的public void run()。我不认为KeyPressed和keyreased方法是applet的一部分。我应该将它们添加到main()方法吗?由于其他错误,我还不能尝试。run();start();update();paint();我不知道update()和paint()方法的参数必须是什么。您只问了十几个问题,因此很难在评论中回答,但我坚持我的说法,即您需要了解每个方法的功能。SwingUtilities确保您在EDT上运行。按键()方法与JFrame或JApplet无关。它们是组件接收到KeyEvent时自动调用的KeyListener的一部分。其他方法有哪些错误?您需要阅读基本教程才能了解发生了什么。很抱歉不清楚。我已经告诉了我问题中的问题。这些问题是:
getDocumentBase
getImage
给我错误。现在这些是我的首要任务。它们是小程序的一部分,现在不起作用。了解代码很重要,但我通过尝试并在代码开始工作后更改代码来获得最佳学习效果。如果我错了,请纠正我:
更新(图形g){
绘制(图形g){
不是小程序的一部分。它们被
repaint();
调用。我想我可以在init()的末尾调用start()(现在是构造函数),在start()的末尾调用run()。有什么错误吗?你能找到update()和paint()吗在JApplet的API中?
getDocumentBase
getImage
给出“类型AltMain的方法getDocumentBase()未定义”和“类型AltMain的方法getImage(URL,字符串)未定义”分别是错误。我不理解你查找方法的意思。我已经检查了它,JApplet也有它们,但我不想使用JApplet,除非它可以由JRE在可执行文件中使用(这就是我想从applet切换到JFrame的原因。不过,在run()方法结束时重新绘制似乎可以正常工作。
bg = getImage(base, "data/bg space.jpg");
public void run(){
public void start(){
public void update(Graphics g){
public void paint(Graphics g){