检测按钮的功能是否已完成

时间:2016-10-04 16:47:05

标签: java if-statement jbutton actionlistener points

我在我创建的一些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!
}
});

请帮助我.....

3 个答案:

答案 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() {
  ...
}