2015-12-27 93 views
-1

有一种方法可以重置(更改)方法void mouseClicked()的代码,最初在代码中定义,在if(条件)验证后?处理 - 更改mouseClicked()代码

例如: 如果我有:

void mouseClicked(){ 
print("clicked1"); 
} 



void draw(){ 
    if(frameRate>=1000) ----> 
    //redefine mouseClicked() method so that it will do 
    exit(); 
} 
+0

有很多方法可以改变程序的行为,但是你的代码不足以给你很好的建议。请创建一个[mcve]。 – RealSkeptic

+0

你是否在寻找像这样的东西http://stackoverflow.com/questions/11749409/replace-content-of-some-methods-at-runtime – Bha1

回答

1

我不知道,如果我理解你的权利:d 你可以使用一个全球性的布尔:

private boolean b = false; 
void mouseClicked(){ 
    if(b == false){ 
     print("clicked1"); 
    } else { 
     print("clicked2"); 
    } 
} 

void draw(){ 
    if(frameRate>=1000){ 
    b = true; 
    } else { 
    b = false; 
    } 
    exit(); 
} 
+0

这是一个好主意!没有想到这一点!我会尝试一下,并在工作时给你+1!谢谢。 – Calips

+0

这种方法确实有效,但如果有很多条件需要测试,性能会很差! – Calips

-1

我,由我自己,可以这样尝试: 创建一个具有函数mouseclicked()的接口。现在,在您的Mouselistener中,创建接口的变量,并且当Mouselistener中的鼠标点击函数为c在链接的接口变量中调用鼠标。 现在,您可以创建一些类,都实现你的接口,但的mouseClicked时充当不同的()被调用 最后,通过改变你的MouseListener的变量,这个类中的一个,就可以实现不同的操作

让我知道如果这有帮助,或者您需要任何进一步的解释

+0

我会试试这个,并告诉你它是否适用于处理语言!谢谢 ! – Calips

+0

为什么downvote? – PixelKicker

+0

不是我!但是你的解决方案只适用于java。谢谢。 – Calips