[英]is there a NO MOTION mouse listener?
我有一個地圖小程序,我有一個跟隨鼠標的JLabel,只要鼠標越過一個城市,JLable就會顯示城市名稱和人口。
我使用mouseMotionListener的MouseMoved方法,但我希望只有當鼠標在城市上方停留幾秒鍾時標簽才會存在。
我不知道是不是因為我現在一直在研究這個代碼,但我似乎無法想到使用MouseMoved方法解決這個問題,我嘗試使用計時器,但這對我沒用(mayb我只是做錯了因為我的大腦燒壞了)
那鼠標是否有老鼠聽力? 或者你有什么建議嗎?
這或多或少是我得到的
public void mouseMoved(MouseEvent evt) {
int x = evt.getX();
int y = evt.getY();
boolean aboveCity = false;
mouseover.setBounds(x+20, y-10, 200, 20); //mouseover is a JLabel
for (int i=0;i<cityCounter;i++){
if (city[i].containsPoint(x,y){
name = city[i].getName();
population = city[i].getPopulation();
aboveCity = true;
}
}
if(aboveCity){
mouseover.setText(name + ", " + population);
}
else{
mouseover.setText("");
}
}
使用Java javax.swing.Timer。 每次鼠標移動時,重置計時器。 當計時器熄滅時,只要您的計時器設置為,鼠標就會“靜止”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.