2014-03-31 37 views
0

的下面是while循環:無法跳出循環

do { 
    PointerInfo a = MouseInfo.getPointerInfo(); 
    Point b = a.getLocation(); 
    int nx = (int) b.getX(); 
    int ny = (int) b.getY(); 
    String sendMessage1 = nx + "\n"; 
    String sendMessage2 = ny + "\n"; 

    MouseEvent me = null; 
    penOperationS(me,nxi-120,nyi-75,nx-120,ny-75); 

    bw.write(sendMessage1); 
    bw.write(sendMessage2); 
    bw.flush(); 

}while(true); 

在我的代碼,在拖動鼠標時控制進入這個循環(的mouseDragged(的MouseEvent e)條)。我的問題是,即使鼠標被釋放,循環仍然繼續執行。我想在鼠標釋放時退出循環。我應該爲此做些什麼?

請幫助.. 在此先感謝..

+2

你需要一個'break'語句 –

+2

改變'while'循環的條件或添加一個'break'語句。 – pzaenger

+0

你可以在你的while語句中添加這樣的條件:while(!mouseReleased) – Gladhus

回答

3

做這樣的事情,而不是與heldDown是一個成員變量:

heldDown = true; 
do { 
... 
} while (heldDown); 

然後,在鼠標釋放事件:

heldDown = false; 

這應該做的伎倆。

+0

它仍然沒有工作..我不知道有什麼問題..有什麼辦法來檢測鼠標的釋放..? –

+0

非常感謝..它的工作.. –

0
if ([mouse is released]) 
    break;