jjzjj

KeyBoard

全部标签

控制台应用程序中的 Java 键盘输入解析

我刚开始弄乱JLine在控制台模式下解析字符输入。它似乎运作良好,但我想知道:在JLine中是否有一种非阻塞的方式来查明字符是否可用?(即像Windows中的kbhit()。)我想我总是可以将键盘输入包装在它自己的线程中,然后将线程安全队列中的键盘字符提供给主线程,但这似乎是不必要的。编辑:这是逐字符解析。我不会使用GUI。在控制台模式下,Java中通常的InputStreamI/O要求您先按下Enter键(例如,它只是缓冲输入)。请不要告诉我在控制台模式下逐字符输入在Java中是不可能的;它不是。JLine使用具有平台相关实现的可移植接口(interface)来实现。编辑更新:我能够

java - 如何在 Java 中检查启动时是否按下了键

我正在尝试编写一个在程序首次启动时弹出的分辨率选择对话框。为了防止用户感到无聊,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但通过在启动时按住alt键将其恢复。不幸的是,没有明显的方法可以询问java给定的键是否当前正在按下。您只能通过KeyListener注册以获知新的按键操作,但如果按键操作在应用程序启动之前就开始了,那将无济于事。 最佳答案 importjava.awt.*;importjava.awt.event.*;importjavax.swing.JFrame;publicclassLockingKeyD

java - 如何有效地检查两个字符是否是键盘上的邻居?

我想为Android开发一个软键盘,并且已经有了一个自动更正算法,如果输入的字符和字典中的单词的字符在键盘上相邻,它会根据事实提出建议。这与levenshtein算法结合使用(如果必须用不同的字符替换一个字符,则检查它们是否是邻居)。这就是为什么经常调用此检查的原因。目前,它消耗了50%的自动更正时间。我目前的方法是一个具有3层的单独的trie。第一层:第一个字符。第二层:第二个字符:第三层:如果字符是邻居,则保存信息的boolean值。但恐怕特里是矫枉过正?每个child的实习生HashMap也可能会减慢速度?我应该使用自己的charToNumber函数构建HashMap吗?你会怎么

java - 从java中的任意字符获取VK int

如何从作为字母的字符中获取VK代码?看起来您应该能够执行类似javax.swing.KeyStroke.getKeyStroke('c').getKeyCode()的操作,但这不起作用(结果为零)。如果你已经有了KeyEvent,每个人都知道如何获取键码,但是如果你只是想将chars转换为VKints怎么办?我对获取奇怪字符的FK代码不感兴趣,只有[A-Z]、[a-z]、[0-9]。这个问题的背景--------我见过的所有机器人教程都假设程序员喜欢通过发送带有VK代码的按键来拼写单词:intkeyInput[]={KeyEvent.VK_D,KeyEvent.VK_O,KeyEven

java - 如何检查击键序列

我正在制作游戏并想实现像Konami代码这样的作弊代码。但是我如何检查击键序列呢?我希望它能正常工作,以便玩家只要输入代码就会触发。提前致谢! 最佳答案 下面是一个检查Konami代码的类,包括“UP、UP、UP、DOWN等情况。”这应该适用于任何给定的序列。importjava.util.Map;importjava.util.TreeMap;publicclassKonami{staticprivateint[]code={UP,UP,DOWN,DOWN,LEFT,RIGHT,LEFT,RIGHT,B};staticprivat

java - 有没有办法使用键盘显示悬停 JavaDoc 帮助?

当我将鼠标悬停在符号上时,Eclipse在工具提示窗口中显示JavaDoc帮助。这很好,但如果我可以在光标位于符号上时从键盘弹出此工具提示,那就更好了。是否有执行此操作的快捷方式?我发现Shift-F2可以打开外部JavaDoc,但我不想这样。我想用鼠标悬停时显示的键盘弹出相同的工具提示。编辑:谢谢,这很快。:)我接受了最快的答案。 最佳答案 尝试在光标位于该词上时仅按F2。它将打开与您将鼠标悬停在其上时相同的弹出对话框。 关于java-有没有办法使用键盘显示悬停JavaDoc帮助?,我

java - 如何判断按下了哪个 SHIFT 键?

在我的游戏中,我希望能够将左右Shift键用于不同的功能。在Java(或其他语言)中,有什么方法可以区分这两者吗?KeyEvent类只有VK_SHIFT,对应左右shift键。与Control、Alt、Enter等相同我主要担心的是有人可能会用两根手指同时快速按下两个键,从而获得不公平的优势。我应该担心这个吗? 最佳答案 我找到了一个Java教程,其中包含JavaWebStart示例和源代码。看起来赢家是KeyEvent.getKeyLocation()KeyEvent.KEY_LOCATION_STANDARDKeyEvent.K

Python:Keyboard Interrupt - 当代码遇到“Ctrl+C“时发生了什么?

Python:KeyboardInterrupt-当代码遇到"Ctrl+C"时发生了什么?🌈个人主页:高斯小哥🔥高质量专栏:【Matplotlib之旅:零基础精通数据可视化】💡创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)🌵文章目录🌵一、什么是KeyboardInterrupt?🔍二、为什么需要KeyboardInterrupt?💡三、如何使用KeyboardInterrupt?🚀四、注意事项🔥五、总结🎉六、最后🤝  👋嗨,Python开发者们!今天我们要来聊聊一个有趣且实用的话题——KeyboardInterrupt。在编程过程中,你

c++ - 使用 C 中内存地址的 Julia 读/写结构数据

我正在将我的应用程序嵌入到Julia中,我需要一种从Julia和C++读取/写入相同结构的好方法。在Python中我可以简单地做:ffi.cdef("""structkeyboard_s{intforward;intbackward;intleft;intright;intjump;}structkeyboard_s*app_get_keyboard();"""app=ffi.dlopen("app.dll")thekeyboard=app.app_get_keyboard();thekeyboard.forward=1;#thiswouldimmediatlychangethemem

c++ - 贪吃蛇游戏: fast response vs.碰撞错误

我有一个用SFMLC++编写的贪吃蛇游戏,我在两个选项之间左右为难。如果像这样设置控件:if(event.type==sf::Event::KeyPressed&&(event.key.code==sf::Keyboard::Up||event.key.code==sf::Keyboard::W)&&move!=Down)move=Up;elseif(event.type==sf::Event::KeyPressed&&(event.key.code==sf::Keyboard::Down||event.key.code==sf::Keyboard::S)&&move!=Up)move