- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在通过 java 机器人类按特殊字母(土耳其语等)时遇到问题。我有一种按键的方法,可以作为 alt+keycode。我无法将一些特殊字母转换为当前键码。那我该如何解决呢。谢谢
例如:
KeyStroke ks = KeyStroke.getKeyStroke('ö', 0);
System.out.println(ks.getKeyCode());
Output : 246
// So alt+0246='ö'
//but if I convert 'ş' to keycode
//Output is 351 . So alt+351= '_' and alt+0351= '_'
//What is the Correct combination for 'ş'. same for 'Ş', 'ş','Ğ', 'ğ', 'İ', 'ı', 'Ə', 'ə'
按键:
public void altNumpad(int... numpadCodes) {
if (numpadCodes.length == 0) {
return;
}
robot.keyPress(VK_ALT);
for (int NUMPAD_KEY : numpadCodes) {
robot.keyPress(NUMPAD_KEY);
robot.keyRelease(NUMPAD_KEY);
}
robot.keyRelease(VK_ALT);
}
最佳答案
字符编号在 Unicode 标准中定义。也用于 HTML,因此您可以使用 this table .
无论如何,如果您在源代码中看到字符取决于编辑器是否正确解释文件(首选 UTF-8)这一事实。
其次,使用的编辑器必须安装包含这些字符的字体。因此,如果您键入 alt+0351 并得到和“_”,这可能只是一个替换字符,表明字体缺少此字符。
最后您应该告诉 Java 编译器源代码是 UTF-8 - 只是为了确保 (javac -encoding utf8
)。
关于Java Robot类按土耳其字母(Ö, ö, Ş, ş, Ü, ü, Ğ, ğ, İ, ı, Ç, ç, Ə, ə)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982151/
2016 年土耳其政府决定保留 GMT+3 时区以节省夏令时,但在 Android 上: Calendar calendar = Calendar.getInstance(); TimeZone tz
浏览器上 JavaScript 中的日期计算问题。有 3 个参数 -从日期、天数和到日期 从使用 JavaScript 中的日历组件选择的日期 = 30/10/2016输入的天数 = 2 基于没有。应
有人可以帮忙解决以下问题吗? 我的操作系统是最新的 windows 10,时区是 (UTC+0300) Istanbul(夏令时已被移除,时区设置为 +0300 在土耳其的最新规定之后 - 2016
我是一名优秀的程序员,十分优秀!