草庐IT

Keyevent

全部标签

java - 在没有 Java 中的 KeyEvent 的情况下检测当前是否按下了键 (CTRL)

我需要能够查看CTRL键当前是否在处理鼠标事件期间被按下。我曾尝试使用KeyListener,但由于焦点问题,尝试同时使用鼠标事件和按键事件被证明是一个问题。我基本上想要完成的是使用CTRL键选择多个对象,就像在Windows中一样。如果在我的鼠标事件中,我可以只检查CTRL键的状态...你能用Java做到吗?谢谢。 最佳答案 使用getModifiers()检测按下的键..例如:if((event.getModifiers()&ActionEvent.CTRL_MASK)==ActionEvent.CTRL_MASK){Syste

JavaFX:如何使回车键提交TextArea

抱歉,如果这看起来有点太简单了,我是JavaFX的新手,这是我用它构建的第一个小应用程序。我正在尝试制作一个简单的聊天客户端。我正在使用JavaFXScene构建器制作客户端UI,以及连接到FXML的Controller类。我怎样才能使文本区域中的当前文本提交到服务器并在按下回车键时清除文本区域,而不是使用某种“发送”按钮?编辑:这是不起作用的代码://...publicclassFXMLDocumentController{//...@FXMLprivateTextAreamessageBox;//...messageBox.setOnKeyPressed(newEventHandl

JavaFX 文本字段 : Automatically transform text to uppercase

我的FXMl上有一个JavaFXTextField控件,看起来像这样......我想在用户输入时自动将所有字符更改为大写。我Controller中的代码:publicvoidkeyListener(KeyEventevent){//maybetransformthepressedkeytouppercasehere...} 最佳答案 有几种方法可以实现这一点:覆盖replaceText()TextFieldtextField=newTextField(){@OverridepublicvoidreplaceText(intstart

Java 键绑定(bind)加键

我试图在我正在创建的图像编辑应用程序中创建用于放大和缩小的快捷方式,但我发现了一些奇怪的事情。要绑定(bind)ctrl++的组合,我必须使用=键以及控制和移位掩码:getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS,KeyEvent.CTRL_DOWN_MASK+KeyEvent.SHIFT_DOWN_MASK),"ZoomIn");我尝试直接绑定(bind)到VK_PLUS的组合均无效:getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS,KeyEven

java - Java 如何调度 KeyEvents?

我已经阅读了关于keybindings的明确教程几次,但我的大脑缓存似乎不够大,无法容纳复杂的过程。我正在调试一个键绑定(bind)问题(原来我使用了错误的JComponent.WHEN_*条件),我偶然发现了一个关于包privatejavax.swing.KeyboardManager的简明而有趣的javadoc由一位(不幸的)匿名Java工程师编写。我的问题是:除了在一开始检查的KeyEventDispatcher之外,描述是否遗漏和/或错误了什么?TheKeyboardManagerclassisusedtohelpdispatchkeyboardactionsfortheWHE

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

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

java - 如何使用 Robot 类在 java 中发送 CTRL+Z keyEvent

我正在使用JavaRobot类发送按键事件。我尝试了robot.keyPress()函数。但是我不知道如何发送CTRL+zkeyEvent。 最佳答案 robot.keyPress(KeyEvent.VK_CONTROL)robot.keyPress(KeyEvent.VK_Z)//CTRL+Zisnowpressed(receivingapplicationshouldseea"keydown"event.)robot.keyRelease(KeyEvent.VK_Z)robot.keyRelease(KeyEvent.VK_CO

java - 无法在 Java 中使用机器人按 Window+L

我正在使用Robot类在Java中模拟按键。但是我无法按Window键+L,尽管我可以单独按它们。这是我的代码:privatevoidpressKey(){Robotr=newRobot();robot.keyPress(KeyEvent.VK_WINDOWS);robot.keyPress(KeyEvent.VK_L);robot.keyRelease(KeyEvent.VK_WINDOWS);robot.keyRelease(KeyEvent.VK_L);} 最佳答案 试试这个:Runtime.getRuntime().exec

java - Keylistener 不适用于 JPanel

当使用我的JPanel类中的KeyListener按下其中一个箭头键时,我正在尝试做一些事情。这是我的代码:publicclassTestPanelextendsJPanelimplementsKeyListener{publicTestPanel(){this.addKeyListener(this);this.setFocusable(true);this.requestFocusInWindow();}publicvoidkeyPressed(KeyEvente){if(e.getKeyCode()==KeyEvent.VK_RIGHT){System.out.println("

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