내 프로그램의 모든 내용이 마우스 및 키보드 수신기를 제외하고 작동합니다. JList에서 JList를 다루는 몇 가지 actionListeners를 얻었습니다.하지만 여기서는 세 가지 모두와 함께 작업해야한다고합니다. 그래서 컴파일하는 이유를 알고 싶지만 작동하지 않습니다. 내가 뭔가 잘못하고 있는거야?Java 이벤트 리스너 (마우스 및 키보드)
panel.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
shape.addSides();
}
if(e.getKeyCode() == KeyEvent.VK_DOWN){
shape.subSides();
}
}
@Override
public void keyReleased(KeyEvent e) {
}
}
);
panel.addMouseListener(new MouseListener(){
@Override
public void mouseEntered(MouseEvent e){
if(e.getButton() == MouseEvent.BUTTON1){
shape.addSides();
}
if(e.getButton() == MouseEvent.BUTTON3){
shape.subSides();
}
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
);
+1. 또 다른 방법은이 [Q & A] (http://stackoverflow.com/questions/20007625/keyboard-input-with-swing-java)에 설명 된대로 JComponent.WHEN_IN_FOCUSED_WINDOW 조건을 사용하여 JButton의 키 바인딩을 설정하는 것입니다. – dic19
' 내 책에'setFocusable (true)'와'requestFocusInWindow()'가있다. 그게 그가 나를 위해 키보드를 고정. mouseListener의 배치에 관해서는, 원래 위의 위치에 배치했습니다. 그것이 작동하지 않을 때 나는 copypasta를 모두 4 일해서 사람이 일하기를 바랐다. 방금'mouseClicked()'에 넣으면 작동합니다. 도와 줘서 고마워. 나는 프로젝트를 제 시간에 완료했다. – Chris
@ChrisVachon : 다행 이군! –