我试图制作一个绘画应用程序,最近我添加了撤消功能。当我用JButton测试它时,undo命令工作正常。但是,当我尝试使用CTRL + Z触发撤消功能时,没有任何反应。我也尝试过使用KeyListeners,但是没有调用密钥处理程序事件。
public class DrawPad extends JComponent{
public DrawPad(){
setDoubleBuffered(false); //Should the program use a buffer to paint?
setFocusable(true); //Allow the JComponent to be focusable
requestFocusInWindow(); //Ask to be focused
//KeyEvent.VK_Z fails as well
getInputMap().put(KeyStroke.getKeyStroke("control Z"), "undo");
getActionMap().put("undo", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("test");
undo();
}
});
}
删除了不相关的代码,包括撤消功能和组件的图形方面。