Ostatnio pracowałem nad grą 2d w Javie i obecnie staram się, aby system obsługi zdarzeń działał prawidłowo. Próbowałem uzyskać kliknięcie myszą, aby rozpocząć animację i działało, dopóki nie próbowałem przesuwać myszy podczas klikania. W tym momencie nic się nie dzieje. Używam klas mouselistener i mousemotionlistener, a problem nadal występuje. Oto kod z głównym:Zdarzenia myszy Java są ignorowane podczas przenoszenia myszy?
public class ML extends MouseAdapter{
public void mouseClicked(MouseEvent m){
if(m.getButton()==MouseEvent.BUTTON1)
guns.playOnce();
}
public void mouseReleased(MouseEvent m){
if(m.getButton()==MouseEvent.BUTTON1);
}
To wywołuje klasy animator do odegrania zbiór obrazów jeden raz i zatrzymać. Animator działał idealnie, zanim włączyłem zdarzenia myszy. Nie mogę zrozumieć, dlaczego nie działałby podczas ruchu myszy, jeśli nie ma określonej czynności, którą można wykonać podczas ruchu myszy. (Jeśli istnieje oczywiste rozwiązanie, przepraszam, java uruchomiłem java nie tak dawno temu.)
Dzięki! Wskazówka na temat kliknięcia zaoszczędzi mi później frustracji. – Ryan
@trashgod: Cóż, właściwie 'ButtonModel' po prostu śledzi stan - jest to' ButtonUI', który nasłuchuje zdarzeń myszy i aktualizuje model. –