Java 在JFrame中创建快捷方式

Java 在JFrame中创建快捷方式,java,swing,jframe,keylistener,Java,Swing,Jframe,Keylistener,但是,当我按delete按钮时,看不到按键\delete\Pressed消息 默认情况下,从不对KeyEvents做出反应,必须将此侦听器用于他们要使用的JComponent,或者可以使用setFocusable标记它 不要对Swing JComponents使用低级抽象,如果可能的话,可以使用高级抽象 默认情况下,从不对KeyEvents做出反应,必须将此侦听器用于他们要使用的JComponent,或者可以使用setFocusable标记它 不要对Swing JComponents使用低级抽象

但是,当我按delete按钮时,看不到按键\delete\Pressed消息

默认情况下,从不对KeyEvents做出反应,必须将此侦听器用于他们要使用的JComponent,或者可以使用setFocusable标记它

不要对Swing JComponents使用低级抽象,如果可能的话,可以使用高级抽象

默认情况下,从不对KeyEvents做出反应,必须将此侦听器用于他们要使用的JComponent,或者可以使用setFocusable标记它

不要对Swing JComponents使用低级抽象,如果可能的话,可以使用高级抽象

JRootPane+KeyBindingsAs@mKorbel已经说过

public final class UserPage extends JFrame{
public UserPage() {
this.addKeyListener(new myclass());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(1000, 600);
this.setLocation(300, 60);
this.setResizable(false);
this.setVisible(true);
}
.
.
.
    public class myclass extends KeyAdapter{
    @Override
    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_DELETE) {
            System.out.println("Key \"Delete\" Pressed");
        }
    }
}
}
另外请查看:JMenuItemsetAccelerator

String KEY = "UserPageAction";
f.getRootPane().getActionMap().put(KEY, action);
InputMap im = f.getRootPane().getInputMap();
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), KEY);
SSCCE

JRootPane+KeyBindingsAs@mKorbel已经说过

public final class UserPage extends JFrame{
public UserPage() {
this.addKeyListener(new myclass());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(1000, 600);
this.setLocation(300, 60);
this.setResizable(false);
this.setVisible(true);
}
.
.
.
    public class myclass extends KeyAdapter{
    @Override
    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_DELETE) {
            System.out.println("Key \"Delete\" Pressed");
        }
    }
}
}
另外请查看:JMenuItemsetAccelerator

String KEY = "UserPageAction";
f.getRootPane().getActionMap().put(KEY, action);
InputMap im = f.getRootPane().getInputMap();
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), KEY);
SSCCE