Tag: keyevent

如何使用VK_UP或VK_DOWN移动到上一个或下一个Textfield?

我想使用VK_UP或VK_DOWN来移动焦点,因此它可以转到上一个或下一个文本字段。 我怎样才能做到这一点 ? 我尝试使用它,但它没有用。 private void passwordTFKeyTyped(java.awt.event.KeyEvent evt) { char c = evt.getKeyChar(); if (c == KeyEvent.VK_UP) { usernameTF.grabFocus(); } } 所以我尝试添加’System.out.println(c)’ 并且给出的结果是空的(空的并不意味着空字符串,如“”或null),它更像UP键不起作用。 非常感谢。

Java KeyListener – 如何检测是否按下任何键?

我已经向TextArea添加了一个KeyListener,并希望检查是否按下了任何键。 我有以下但是检查所有字母和数字太笨拙了: public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_A || e.getKeyCode() == KeyEvent.VK_B || e.getKeyCode() == KeyEvent.VK_C ||e.getKeyCode() == KeyEvent.VK_D etc…){ } }

跳过Java KeyEvents

我有一个程序,用户可以按一个键来执行操作。 那个事件花了很少的时间。 用户还可以按住该键并连续多次执行操作。 问题是keyPress()事件排队的速度比处理事件的速度快。 这意味着在用户释放密钥后,事件将继续处理,这些事件是从先前按住密钥的用户排队的。 我还注意到,直到最后的keyPress事件被处理之后才会发生keyRelease事件,无论密钥何时被实际释放。 我希望能够1.检测密钥释放事件并忽略将来的keyPress事件,直到用户实际再次按下该密钥。 2.在第一个完成之前不执行后续的keyPress事件,然后检测何时未按下该键,然后停止。 有谁知道如何做到这一点?

如何生成Java中没有密钥代码的键盘事件?

我正在使用Robot类和KeyEvent键代码生成所有其他键事件,它们工作正常,但我还需要Hangul键(切换韩语键盘)。 显然KeyEvent没有这个密钥的密钥代码,所以我卡住了:(有没有办法生成这个Hangul密钥事件?有没有办法使用Windows的密钥代码,如VK_HANGUL(0x15)而不是KeyEvent关键代码?如果可能改变所有的密钥代码都不会有问题…或者以某种方式将密钥事件一次性存储并永久存储在某处并永远使用它…… ??? 我想要做的是创建一个有数字,字母和韩语的屏幕键盘。 单击一个图标,它将生成相应字母的键事件,以便输入字母。 (除了切换到韩语之外的所有东西都正常工作。) 能够生成韩文键事件会很好但是如果不可能的话,是否有任何关于如何实现这一点的建议? 也许我可以将每个韩文字母与键盘上的相应字母绑定(例如g在具有英语和韩语的传统键盘上是ㅎ)或者其他什么,但是如何将其发送到其他应用程序? 对不起,如果这个问题遍布整个地方。 我真的迷路了。

JavaFX TextField:自动将文本转换为大写

我的FXMl上有一个JavaFX TextField控件,看起来像这样…… 我想在用户输入时自动将所有字符更改为大写 。 我控制器中的代码: public void keyListener(KeyEvent event){ //maybe transform the pressed key to uppercase here… }

Java机器人与Azerty vrs Qwerty

我希望这不是重复,但我已经搜索了论坛,还没有找到任何答案。 我在使用Robot类输入文本的java应用程序时遇到问题。 提供了文本,应用程序将其输出。 当用户有QWERTY键盘时,一切正常。 当用户使用AZERTY键盘时,值不正确。 例如,将“1234567890”输入软件类型“&é”’(§è!çà“ 我希望有些人知道如何支持多种键盘布局。 先谢谢你。 这是一个片段 String TRANSLATION_SHIFT = “~!@#$%^&*()_+{}|:\”?”; String TRANSLATION_NON_SHIFT = “`1234567890-=[]\\;’,./”; Robot robot = new Robot(); String text = “1234567890”; int key; for (char c: text.toCharArray()){ switch(c){ …. case ‘0’: key = KeyEvent.VK_0; break; case ‘1’: key = KeyEvent.VK_1; break; …(etc etc)… case ‘9’: key = KeyEvent.VK_9; break; … […]

如何设置按键按键绑定?

此应用程序的箭头键需要使独立于焦点的按下和释放事件。 设置onKeyRelease true会导致预期的释放事件,但设置onKeyRelease false(下面的代码)似乎不会停止自动重复。 当按住箭头键时,有没有办法实现键绑定触发一次? Action right = new AbstractAction() { public void actionPerformed(ActionEvent e) { … } }; mainPanel.getInputMap(JPanel.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) .put(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0, false), “right”); mainPanel.getActionMap().put(“right”, right);

如何在Java中按下/键入TAB键?

private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) { //cant capture my TAB? System.out.print(evt.getKeyChar()); } 在没有使用焦点监听技术的情况下,java gui中捕获tab键的最简单方法是什么?

即使在持有密钥时,也只在Java中创建一个KeyEvent

我需要知道是否有可能只在按下一个键时才发生一次动作,即使该按键被按下一段时间,如果有可能,怎么办? 这是我现在的代码: if(e.getKeyCode() == KeyEvent.VK_A) { attack = true; moveX = -5; draw(moveX, moveY); players.get(username).setImageIcon(“attack-left”); } 这是在keyPressed方法中,并且在keyReleased中我将moveX设置为0.因此,如果按下A,则图像应该向左5个单位并停止,无论A是否仍被按下或已经被按下释放。 但这不起作用,它只是继续向左移动。 我尝试使用keyTyped但它没有用。 在此先感谢,如果需要,我可以提供更多代码。

使用键盘移动图像 – Java

我想用键盘箭头键移动我的图像。 当我按下箭头键时,它会相应地移动到方向。 但是,我需要先点击图像才能移动它。 我是否可以知道如何编辑代码,以便在移动之前我不需要单击图像? 我还想知道如果图像一旦到达右边就会从左侧出现,反之亦然。 我的代码是: Collect.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent ke) { if(ke.getKeyCode() == KeyEvent.VK_LEFT) { Collect.setLocation(Collect.getX()-8,Collect.getY()); repaint(); } if(ke.getKeyCode() == KeyEvent.VK_RIGHT) { Collect.setLocation(Collect.getX()+8,Collect.getY()); repaint(); } } }); Collect.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent me) { if(me.getClickCount() == 1) { boolean dd = Collect.isOptimizedDrawingEnabled(); boolean ff = Collect.requestFocusInWindow(); repaint(); } } });