我对Java很陌生,我正在尝试使用Java2D来尝试熟悉Java语言。我也用Python/Pygame做了同样的事情,使简单的游戏(蛇、扫雷器等)没有太多的斗争,但是Java2D看起来要复杂得多。
我正在学习关于本站的教程,但在SimpleEx.java代码示例中,我不知道发生了什么:
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
BasicEx ex = new BasicEx();
ex.setVisible(true);
}
});它看起来像是在.invokeLater()方法调用中声明了一个新方法。这个run()方法是一个单独的参数传递到invokeLater()中吗?还是在将对象传递到方法之前将该方法添加到新的Runnable()对象中?
发布于 2015-08-18 07:28:07
run()是实现可运行接口的主要方法。在invokeLater()中,您将传递新的Runnable对象,该对象必须实现自己的run()方法。因此,您目前所做的是创建匿名Runnable类并将其传递到EventQueue方法中。这种运行GUI应用程序的方式使用提供的run()方法在单独的线程中启动应用程序,并被用于并发的原因--比如不阻止其他后台操作的GUI。
https://stackoverflow.com/questions/32066040
复制相似问题