Java 如何在同一方法中添加按键事件
我对此代码有问题:Java 如何在同一方法中添加按键事件,java,swing,jframe,keylistener,keyevent,Java,Swing,Jframe,Keylistener,Keyevent,我对此代码有问题: CaptachaKey.addKeyListener(new KeyAdapter() { public void KeyPressed(KeyEvent e) { System.out.println("It works!" + e.getKeyCode()); if (e.getKeyCode() == 10) { text =
CaptachaKey.addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e)
{
System.out.println("It works!" + e.getKeyCode());
if (e.getKeyCode() == 10)
{
text = CaptachaKey.getText();
f.setVisible(false);
}
}
});
它不起作用。。。
如何在同一类中添加此侦听器?而不是使用
KeyListener
使用,例如代码10:
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ENTER"), "doSomething");
getActionMap().put("doSomething",new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.out.println("profit");
}
});
根据您的代码:
CaptachaKey.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ENTER"), "doSomething");
CaptachaKey.getActionMap().put("doSomething",new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
text = CaptachaKey.getText();
f.setVisible(false);
}
});
当您按下
ENTER
键时,您的代码将被执行。它是keyPressed
而不是keyPressed
。无论如何,对Swing而不是键侦听器使用键绑定。@user2820701要获得更好的帮助,请尽快发布一个简短的、可运行的、可编译的,