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'