停留在 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
我是 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