在按下"ctrl"之后执行特定任务. +"alt" +“退格"; [英] Performing a certain task after pressing "ctrl" + "alt" + "backspace"

查看:155
本文介绍了在按下"ctrl"之后执行特定任务. +"alt" +“退格";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我想执行某些操作时如何编码.假设当用户同时按下 ctrl + alt + backspace 时,对JTextField和消息框的关注将弹出. /p>

How do I code it when I want to perform something. Let's say that the focus on a JTextField and a messagebox will pop up when the user pressed ctrl+alt+backspace at the same time.

推荐答案

具有键绑定的示例:

import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.*;

public class JTextFieldMagic {
   public static final String CTRL_ALT_BACK_SPACE = "ctrlAltBackspace";

   public static void main(String[] args) {
      JTextField field = new JTextField(10);

      int condition = JComponent.WHEN_FOCUSED;
      InputMap inputmap = field.getInputMap(condition);
      ActionMap actionMap = field.getActionMap();

      KeyStroke ctrlAltBackSpaceKeyStroke = KeyStroke.getKeyStroke(
            KeyEvent.VK_BACK_SPACE, 
            KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK);

      inputmap.put(ctrlAltBackSpaceKeyStroke, CTRL_ALT_BACK_SPACE);
      actionMap.put(CTRL_ALT_BACK_SPACE, new CtrlAltBackspaceAction());

      JOptionPane.showMessageDialog(null, field);
   }
}

class CtrlAltBackspaceAction extends AbstractAction {
   @Override
   public void actionPerformed(ActionEvent e) {
      System.out.println(JTextFieldMagic.CTRL_ALT_BACK_SPACE);
   }
}

这篇关于在按下"ctrl"之后执行特定任务. +"alt" +“退格";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆