停留在 Java 二维初学者教程

Stuck on Java 2D beginners tutorial

我是 Java 的新手,我正在尝试使用 Java 2D 来熟悉这门语言。我用 Python/Pygame 做了同样的事情来制作简单的游戏(贪吃蛇、扫雷等)没有太多的困难,但是 Java 2D 似乎要复杂得多。

我正在按照 this site 上的教程进行操作,但是在 SimpleEx.java 代码示例中我无法弄清楚发生了什么:

EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            BasicEx ex = new BasicEx();
            ex.setVisible(true);
        }
});

似乎在 .invokeLater() 方法调用中声明了一个新方法。这个 运行() 方法是传递给 invokeLater() 的单独参数吗?还是在对象传入方法之前将此方法添加到新的 Runnable() 对象中?

run()是runnable接口的main方法。 在 invokeLater() 中,您传递新的 Runnable 对象,该对象必须实现自己的 run() 方法。所以你目前所做的是创建匿名 Runnable class 并将其传递给 EventQueue 方法。 运行 GUI 应用程序的这种方式使用提供的 run() 方法在单独的线程中启动您的应用程序,并用于并发原因 - 不想在其他后台操作时阻止 GUI