2013-10-04 43 views
0

我有一個界面,用戶可以移動一個對象,或者移動滑塊可以移動對象。我想知道什麼觸發了componentMoved方法。這將是理想的,如果我能做到這一點:找出什麼觸發了ComponentListener

public void componentMoved(ComponentEvent ce){ 
    if(ce.getSource() == Component.SOURCE_HUMAN){ 
     // Do something here 
    } 
} 

我意識到這是不可能的。有沒有其他的方式(沒有從頭開始實現我自己的組件監聽器)?

回答

0

在執行拖動的MouseListener代碼中設置一個布爾變量sourceHuman。然後你的componentMoved代碼將是這樣的:

if (sourceHuman) 
{ 
    // do something 
} 

sourceHuman = false; 

另一種方法是有兩個偵聽器,一個用於人體運動和一個滑塊。然後,您可以在調用實際移動組件的代碼之前將適當的偵聽器添加到組件。

相關問題