#java #swt
#java #swt
Вопрос:
Я добавил MouseListener с mouseDown и событием MouseDoubleClick MouseDoubleClick. Моя проблема в том, что когда я дважды щелкаю мышью, событие Mousedown срабатывает вместе с событием MouseDoubleClick. Есть ли какой-либо способ предотвратить это?
фрагмент:
gamecomp.addMouseListener(new MouseListener()
{
public void mouseDown(MouseEvent e)
{
if(randv==2)
{
score ;
scorecount(scorelabel);
}
else
{
lifeloss ;
lifes(lifelabel);
}
}
public void mouseUp(MouseEvent e)
{}
public void mouseDoubleClick(MouseEvent e)
{
if(randv==0)
{
score ;
scorecount(scorelabel);
}
else
{
lifeloss ;
lifes(lifelabel);
}
}
});
Заранее спасибо!
Комментарии:
1. Я не думаю, что вы могли бы предотвратить это. Но что, я думаю, вы могли бы сделать, это добавить потоковый короткий таймер в
mouseDown
, добавить флаг в свойmouseDoubleClick
и проверить наличие этого флага после окончания таймера. Таким образом, вы можете решить в своемmouseDown
, произошел ли двойной щелчок или нет.2. Здесь есть пример использования таймера для этого.
3. Спасибо за помощь, но, похоже, это не работает. Я просто оставляю двойной щелчок, это не так уж и необходимо.