将 Java 代码作为 Java 应用程序而不是 Applet 运行

问题描述 投票:0回答:6

我是 Java 新手,我一直尝试将此代码作为 Java 应用程序而不是 Java 小程序运行,但它不起作用(使用 Eclipse IDE)。当我单击“运行”时,它没有提供将其作为 Java 应用程序运行的选项。我该如何解决这个问题?

这是我的代码:

import java.awt.Color;

import acm.graphics.GOval;
import acm.graphics.GPoint;
import acm.graphics.GRect;
import acm.program.*;
import acm.graphics.*;

public class Coordinates extends GraphicsProgram {
    public void run() {
        GOval myOval = new GOval(-8, -8, 16, 16);
        myOval.setColor(Color.RED);
        myOval.setFilled(true);
        add(myOval);

    }

}

以下是当我单击“运行”时提供给我的选项:

Java_Screenshot

谢谢你。

java eclipse applet
6个回答
2
投票

坏消息首先是基于 ACM 的

GraphicsProgram
扩展了
Applet
/
JApplet

这是个坏消息,因为运行小程序和 Web 启动应用程序所需的 Java 插件技术已在 Java 9 中被弃用并从 Java API 中删除。


要按照示例中的建议进行自定义绘制,我将扩展基于 Swing 的

JPanel
并更改绘制方法,然后将其显示在
JFrame
中。

任何基于 ACM 的东西都不再起作用。


1
投票

这只是猜测工作,因为我们无法访问

acm.*
并且小程序有其定义的生命周期,但目的是创建一个
JFrame
并向其中添加
Coordinates
组件

public class Test {

    public static void main(String[] args) {
        new Test();
    }

    public Test() {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame();
                Coordinates coordinates = new Coordinates();
                coordinates.init();
                frame.add(coordinates);
                coordinates.start();
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }

    public class Coordinates extends GraphicsProgram {

        public void run() {
            GOval myOval = new GOval(-8, -8, 16, 16);
            myOval.setColor(Color.RED);
            myOval.setFilled(true);
            add(myOval);

        }
    }
}

0
投票

你需要一个 main 方法,哟。

public static void main(String[] args){}

0
投票

尝试以下方法

    public static void main(String[] args) {
        try {
            SwingUtilities.invokeAndWait(new Coordinates());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

0
投票

您可以尝试在 Applet Runner for Eclipse 插件中运行它。它是一个免费插件,可在 IDE 中运行小程序。

完全公开,我是该插件的开发者。


0
投票

迟到的答案,但希望它对遇到同样问题的其他人有用。 如果我单击项目中单个程序的运行,我遇到了同样的问题。但是当我右键单击该项目(参见图片)时,我可以选择 Java 应用程序,然后选择要运行的特定程序(我的项目中有很多程序),然后它照常运行...... 希望这对您的案例有所帮助。 Java Application

© www.soinside.com 2019 - 2024. All rights reserved.