【发布时间】:2015-08-18 07:21:27
【问题描述】:
我是 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() 方法调用中声明了一个新方法。这个 run() 方法是一个单独的参数被传递给 invokeLater() 吗?还是在将对象传递给方法之前将此方法添加到新的 Runnable() 对象中?
【问题讨论】:
-
通读this,它只是一个anonymous object。
-
你的第二个想法是对的。如您所见,here
Runnable是一个需要实现public void run方法的接口。你可以在@Override-Tag 看到它。invokeLater方法需要一个对象Runnable,并且可以在此参数部分中定义这个新对象。所以run-Method 是invokeLater-Method 的新Runnable-Object 的实现。
标签: java swing graphics 2d java-2d