2015-12-27 134 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