【发布时间】:2014-09-09 22:12:00
【问题描述】:
我正在开发一个基本交互式程序的框架。在其中,我有一个 InputHandler 类,每次发生 keyPressed 或 keyReleased 事件(在主类中指定)时都会执行该类。 InputHandler 有一个构造函数,加载到主类中;但是,我希望其他对象(例如 Player 类)能够在按键时有自己的行为。有没有办法让单个 Array 或 ArrayList 包含按下的键的值,这些键可以由另一个类加载,而无需为每个类初始化 InputListener 的新实例?如果需要进一步说明,请告诉我。
这是我的 InputHandler 类的代码:
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
public class InputListener {
private ArrayList<Integer> keysPressed = new ArrayList<Integer>();
int mouseXPos, mouseYPos;
public InputListener(){
}
public void keyPressed(KeyEvent e){
keysPressed.add(e.getKeyCode());
}
public void keyReleased(KeyEvent e){
}
public ArrayList<Integer> getKeysPressed(){
return keysPressed;
}
public void mousePressed(MouseEvent e){
mouseXPos = e.getX();
mouseYPos = e.getY();
}
public int getMouseXPos(){
return mouseXPos;
}
public int getMouseYPos(){
return mouseYPos;
}
}
【问题讨论】:
标签: java input frameworks mouseevent keyevent