我在我创建的一些JButtons上放置了一个actionListener。如果用户单击按钮,则会调用另一个类。我想检测该类是否已完成其功能...为了更清楚,这是我的代码:
Quest.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent iq) {
JButton source = (JButton) iq.getSource();
if (point.equals(points.get(0))){
q1 = new Quest1(); //class called up
source.setEnabled(false);
//This is where my problem lies.... I want to be able to detect when the button's action is finished...than some other action takes place!
}
});
请帮助我.....
答案 0 :(得分:3)
你已经编写了代码!
你知道,除非你付出额外的努力,否则调用另一个方法的方法(比如在这种情况下:使用new来构造另一个对象)按顺序执行 !
含义:在您的方法中的所有其他内容发生之后,您的听众的评论的最后一行已经到达!
唯一要注意的事项是:如果 Quest 的构造函数将创建并启动另一个 Thread ,那么事情就会有所不同。然后,您需要在所涉及的线程之间进行手工制作的通信。但我在某种程度上猜测这不是这种情况。
答案 1 :(得分:1)
将boolean completed
更改为true
,然后检查该内容。
答案 2 :(得分:0)
为什么不在那里调用方法?
Quest.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent iq) {
JButton source = (JButton) iq.getSource();
if (point.equals(points.get(0))){
q1 = new Quest1(); //class called up
source.setEnabled(false);
}
onButtonActionDone()
});
private void onButtonActionDone() {
...
}