【发布时间】:2014-05-24 03:17:34
【问题描述】:
我有一个实现ActionListener 的类。我的actionPerformed() 方法运行良好。但是,在我的程序开始运行actionPerformed() 之前,我想做一些事情。我可以将boolean 放在actionPerformed() 中,然后以这种方式运行一次,但我正在寻找更清洁的东西。我不能只使用我的构造函数,因为我需要一个完全构造的对象来完成我想要做的事情。有没有办法添加诸如initialize() 或start() 之类的方法,它们将在actionPerformed() 开始之前运行?
一些示例代码:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Game implements ActionListener {
public Game() {
// Constructor
}
public void initialize() {
// I want a method of some sort here which is run before the main game
// loop so I can set it up
}
@Override
public void actionPerformed(ActionEvent e) {
// main game runs
}
}
【问题讨论】:
-
I need a fully constructed object- 然后在构造函数的末尾添加代码。 actionPerformed() 方法与构造对象无关。您需要先创建对象,然后才能调用其 actionPerformed() 方法。 -
您希望每次创建对象时都执行initialize() 吗?
-
@camickr 不幸的是我不能。因为我需要对象本身的实例来设置一些东西。相当的面条刮刀,嗯?
-
@karibasappa G C 是的。我将(可能)只创建一次对象,如果它是相关的
-
好的,然后在下面看到我的答案
标签: java swing actionlistener startup initializer