KeyListeners가 가장 큰 장애물로 판명 될 때까지 KeyListener를 대다수 사용하고 있기 때문에 Key Bindings에 조금 익숙합니다. KeyBindings를 사용하여 keyReleased와 유사한 이벤트를 프로그래밍하는 방법에 대해 궁금합니다. KeyListeners는 keyPressed, keyTyped 및 keyReleased와 같은 쉬운 세 가지 방법을 제공했지만 Key Bindings를 사용하는 방법에 대해서는 약간 혼란 스럽습니다.Java에서 Key Binding을 사용하는 keyReleased() 메소드?
기본적으로 사용자가 위로를 누르면 개체가 위쪽으로 이동하기를 원합니다. 그러나 사용자가 UP을 놓으면 객체는 기본 중력을 시뮬레이트하기 위해 자동으로 아래쪽으로 이동해야합니다. UpAction 클래스를 보여주는 약간의 코드가 있습니다.
class UpAction extends AbstractAction
{
public void actionPerformed(ActionEvent tf)
{
north = true;
helitimer.start();
helitimer.start();
helitimer2.start();
repaint();
}
}
세 helitimers 연속적으로 원활하게 객체의 y 좌표를 증가하는 일련의 타이머를 시작 타이머 객체이다. upAction 동작이 호출되면 UpAction 클래스가 호출되고 객체를 이동하기 위해 세 개의 타이머가 시작됩니다.
어쨌든 사용자가 UP을 해제하면 조치가 더 이상 호출되지 않고 타이머가 중지됩니다.
고맙습니다.
[예] (http://stackoverflow.com/a/14001011/230513). – trashgod
여기에 하나 더 있습니다 [예] (http://stackoverflow.com/a/11534873/1057230) –