我有一个地图小程序,我有一个跟随鼠标的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("");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |