Java 对话框,并进一步按键激活该对话框上的对象。您的用户可能会期望这种行为,而不是转向“基于十位”的热键方法(当您进入第100栏时会发生什么情况?)。此外,尽管热键很有用,但当用户从未发现或(可能拒绝)采用热键时,要做好准备。Hi@X-Zero:应用程序有一个非

Java 对话框,并进一步按键激活该对话框上的对象。您的用户可能会期望这种行为,而不是转向“基于十位”的热键方法(当您进入第100栏时会发生什么情况?)。此外,尽管热键很有用,但当用户从未发现或(可能拒绝)采用热键时,要做好准备。Hi@X-Zero:应用程序有一个非,java,swing,combinations,keylistener,keyevent,Java,Swing,Combinations,Keylistener,Keyevent,对话框,并进一步按键激活该对话框上的对象。您的用户可能会期望这种行为,而不是转向“基于十位”的热键方法(当您进入第100栏时会发生什么情况?)。此外,尽管热键很有用,但当用户从未发现或(可能拒绝)采用热键时,要做好准备。Hi@X-Zero:应用程序有一个非常特定的用户群,用于处理数组(事实上,他们知道自己正在处理一个数组),因此我不认为以0开头的列no.是一个问题。我想绕过触发另一个弹出对话框的弹出对话框,由于速度至关重要,用户应该能够键入ALT+1+1(或ALT+1+1),然后弹出窗口显示为更


对话框,并进一步按键激活该对话框上的对象。您的用户可能会期望这种行为,而不是转向“基于十位”的热键方法(当您进入第100栏时会发生什么情况?)。此外,尽管热键很有用,但当用户从未发现或(可能拒绝)采用热键时,要做好准备。Hi@X-Zero:应用程序有一个非常特定的用户群,用于处理数组(事实上,他们知道自己正在处理一个数组),因此我不认为以0开头的列no.是一个问题。我想绕过触发另一个弹出对话框的弹出对话框,由于速度至关重要,用户应该能够键入
ALT+1+1
(或
ALT+1+1
),然后弹出窗口显示为更新表中另一行的数据。
ALT+X
组合键是为应用程序中的“调用列”保留的,因此我不必担心“交叉使用”。
// Component that you want listening to your key
JComponent component = ...;
component.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE,
                            java.awt.event.InputEvent.CTRL_DOWN_MASK),
                    "actionMapKey");
component.getActionMap().put("actionMapKey",
                     someAction);
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE,
                       java.awt.event.InputEvent.CTRL_DOWN_MASK
                       | java.awt.event.InputEvent.SHIFT_DOWN_MASK)
if (e.isControlDown() && e.getKeyChar() != 'a' && e.getKeyCode() == 65) {
        System.out.println("Select All"); 
}
    public void keyPressed (KeyEvent e){
        if (e.getKeyCode() == KeyEvent.VK_ALT){
        buffer = ""; //declared globally
        isAltPressed = true; } //declared globally
    }

    public void keyTyped (KeyEvent e){
        if (isAltPressed)
            buffer.append (e.getKeyChar());
    }

    public void keyReleased (KeyEvent e){
        if (e.getKeyCode() == KeyEvent.VK_ALT){
            isAltPressed = false;
            if (buffer.equals (4948)) //for pressing "1" and then "0"
                doAction();
            else if (buffer.equals(...))
                doOtherAction();
            ...
        }//if alt
    }
import java.awt.*;
import java.awt.event.*;
class KDemo
{
     public static void main(String args[])
     {
           Frame f = new Frame();
           f.setSize(500,500);
           f.setVisible(true);
           f.addKeyListener(new KeyAdapter()
           {
               public void keyPressed(KeyEvent e)
               {
                   AWTKeyStroke ak = AWTKeyStroke.getAWTKeyStrokeForEvent(e);
                   if(ak.equals(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_F4,InputEvent.ALT_MASK)))
                   {
                     System.exit(0);
                   }
               }
           });
        }
   }
(int)ev.getKeyChar()
(((int)ev.getKeyChar())==19)
ev.isControlDown() && ev.getKeyChar()=='s'