Tag: 键盘

如何定义国际键盘的可读快捷方式?

我以为我可以使用键盘键的字符串表示来配置快捷方式,即让某人在资源包中定义键击并将该值直接传递给javax.swing.KeyStroke.getKeyStroke(String) 。 但这对国际键盘不起作用,例如阿拉伯语。 键盘键只有高级键输入事件,但需要将快捷键定义为具有键代码表示的低级键按下事件。 如果一个人知道相应的密钥代码,就可以使用该密钥的英文表示来使其工作,但是应该从哪里知道这个? 我写了一个关键的监听器,告诉我,但是我在编程时解析一个String需要一些东西。 任何使用自然语言相关键表示的快捷方式的想法? import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.AbstractAction; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; public class InternationalKeyStroke { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); frame.setPreferredSize(new Dimension(600, 400)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); […]

如何在没有Text Field Java的情况下监听键盘输入

我正在研究Java应用程序并与作为键盘输入设备的RFID阅读器连接。 该应用程序将用于员工时间跟踪,因此员工不应该看到他/她的RFID标签包含的代码。 目前,该应用程序打开一个jFrame,要求员工扫描其标签。 这是我想听键盘输入的地方。 所有RFID标签都是10位数字,所以我想使用某种正则表达式来检测卡片扫描的可能性。 如果有人能指出我正确的方向,或贡献一些代码,我将不胜感激。 提前致谢。 更新: 通过将以下内容添加到我的JFrame的构造函数中,我能够读取扫描程序的输入。 addKeyListener(new KeyListener(){ @Override public void keyPressed(KeyEvent e){ System.out.print(e.getKeyChar());} @Override public void keyReleased(KeyEvent e) { } @Override public void keyTyped(KeyEvent e) { } }); 所以现在确认Reader只是标准键盘输入。 以下是我为标记获取的示例:0006459027 现在,最大的问题是,我如何获取我得到的字符,并检测到它是一个10位数的字符串,并从那里触发事件以打开一个新的框架?

使用keyPressed检测键盘方向键

G’day全部, 在这里了解到Java控制台不支持键盘输入后,我切换到了Swing和AWT。 我现在的问题是如何检测键盘方向键(非数字小键盘)的使用时间。 按下向下,向上,向左,向右键时,我的代码(下面)不会打印“小方块”字符。 例如,这个小方框字符与CTRL和ALT键使用的字符没有什么不同。 有谁知道键盘方向键的实际身份是什么,以便我可以在我的应用程序中为它们编码? import java.awt.*; import java.awt.event.*; import javax.swing.*; public class KeyChecker extends JFrame { JLabel keyLabel = new JLabel(“Hit any key”); public KeyChecker() { super(“Hit a Key”); setSize(300, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout(FlowLayout.CENTER)); KeyMonitor monitor = new KeyMonitor(this); setFocusable(true); addKeyListener(monitor); add(keyLabel); setVisible(true); } public static void main(String[] arguments) { new KeyChecker(); } […]

如何设置java keytool的默认语言?

我使用Windows操作系统,英语和美式键盘设置。 我使用此命令生成密钥库。 它工作正常。 C:\java6\jre\bin\keytool -genkey -keyalg RSA -alias mykey -validity 3652 -keystore C:\mykeystore -storepass 111111111 < data.txt data.txt My name My org unit My org My city My state ch yes 但是,此程序无法在具有德语和键盘设置的Windows上正常工作。 我必须在data.txt中将“ yes ”“更改为” ja “以使其有效。 修改data.txt是不好的。 有没有办法将英语设为keytool的默认语言?

Java Swing:在按下键时执行某些操作

我使用KeyAdpater来获取事件和方法addKeyListener并且工作正常。 问题是当按下键时,动作只发生一次,而不是在被按下时, 在按住键的3-4秒后 ,动作始终发生,这就是我想要的。 我想知道是否有好的方法可以一直按下按键,而不是在按住3-4秒之后。 我想到了下一个解决方案,但也许已经有了实现的方法: public abstract class MyKeyAdapter extends KeyAdapter{ private boolean isPressed = false; private int pressedKey = 0; Thread t = new Thread(new Runnable() { @Override public void run() { while(isPressed) keyPressedAction(pressedKey); } }); @Override public void keyPressed(KeyEvent e) { if(!isPressed){ pressedKey = e.getKeyCode(); t.start(); } } @Override public void keyReleased(KeyEvent […]

使用箭头键浏览JButtons

我制作了一个代表卡片的JButtonarrays,其中有16个,4个4个。如何用键盘上的箭头而不是鼠标在JButton浏览,如何通过按下“点击” JButton输入而不是鼠标点击? 也许还有另一种方法可以做到这一点,而不是使用JButton ? 最好的祝福!

Java – 调用屏幕键盘

我正在处理的应用程序将在Windows 7上运行。它将用于通过触摸屏输入一些信息。 每当提示用户提供信息时,我都需要弹出一个屏幕键盘。 我的问题是,我应该从头开始创建键盘类,还是应该使用Windows 7内置的屏幕键盘?如何在Java应用程序中调用它? 谢谢

键盘布局库,在给定输入键的情况下查找相邻键(最好是java)

有没有人知道一个库(最好是java)可以给我相邻的键给定US_ENGLISH标准键盘的键输入? 例如,如果我输入字符’d’,我应该返回以下字符:[w,e,r,s,f,x,c,v]。 或者,网格操作api也可以工作(这样我可以使用qwerty键盘布局实例化网格并使用它来查找我的邻居)。 注1:我使用’character’和’key’这两个词来代表字符。 注2:我知道我可以硬编码一种方法来将50个左右的主键映射到它们的邻居。 我正在寻找更好的解决方案。 谢谢。

消除初始按键延迟

当您键入文本框并按住某个键时,您会得到(a ……. aaaaaaaaaaaaaa),具体取决于初始按键延迟。 addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { // Handle key press here } 我正在创建一个用户反应非常重要的游戏。 如何完全消除这种延迟? 上面的代码不起作用。 我也尝试重写processKeyEvent而没有运气。

无效的密钥代码@ java

我正在研究一个用java自动输入内容的系统。 这是我写它的方式: public void typeMessage(String message) { for (char c : message.toCharArray()) { int code = c; if (code > 96 && code < 123) code = code – 32; if (c == '@') { robot.keyPress(VK_SHIFT); robot.keyPress(VK_AT); robot.keyRelease(VK_SHIFT); robot.keyRelease(VK_AT); } else { type(code); } } type(VK_ENTER); } 但是我收到了这个错误: Exception in thread “Thread-2” java.lang.IllegalArgumentException: Invalid key […]