0
JPanel은 이벤트에 매우 이상하게 반응합니다. MouseEvent는 처리 할 수 있지만 KeyEvent는 처리하지 않습니다.KeyListener가 키보드 이벤트에 반응하지 않습니다. 마우스 이벤트 용 OK
인 JPanel 클래스 : 패널
public class DrawPanel extends JPanel {
class DrawListener extends MouseAdapter implements KeyListener {
@Override
public void mouseDragged(MouseEvent e) {
// works fine
}
@Override
public void mouseReleased(MouseEvent e) {
// works fine
}
@Override
public void mouseClicked(MouseEvent e) {
// works fine
}
@Override
public void keyPressed(KeyEvent e) {
// Listener is NOT invoked here if anykey is pressed
}
@Override
public void keyReleased(KeyEvent e) {
// NOT invoked
}
@Override
public void keyTyped(KeyEvent e) {
// NOT invoked
}
생성자 :
// Class constructor
public DrawPanel() {
DrawListener l = new DrawListener();
addMouseListener(l);
addMouseMotionListener(l);
addKeyListener(l);
setFocusable(true);
requestFocus();
}
어떻게 된 MouseEvent 핸들러가 잘 작동하는 경우는 가능하다? 어디에서 잘못 될 수 있습니까?
@ MadProgrammer의 답변은 평소와 마찬가지로 5 분 안에 나오며 정확하고 정확한 정보를 제공합니다. 그가 게시 한 모든 것을 자동으로 upvote 할 수있는 방법이 있습니까? :) – ccjmne