gpt4 book ai didi

javafx同时捕获多个按键事件

转载 作者:行者123 更新时间:2023-12-02 21:14:30 25 4
gpt4 key购买 nike

我想捕获当我们按下键盘上的两个键时的事件(ctrl +此处)要放大选项卡 View ,这是我的代码,到目前为止我只能捕获 ctrl,我不知道当我们按住 ctrl 然后单击 + 时如何捕获事件(或者至少每次单击 ctrl 然后单击 c 进行缩放),我有组合键的想法:

最终的 KeyCombination keyCtrlPlus = new KeyCodeCombination(KeyCode.PLUS, KeyCombination.CONTROL_ANY);但我不知道如何在 addEventFilter() 中执行此操作。请问有什么帮助吗?

m_TabView.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent e)
{
if (keyCtrlPlus.match(e))
{
//function to zoom tabview
zoomOut(e);
}
}
});

最佳答案

我就是这样做的。在我看来,这有点简单。更不用说,这明确回答了 Coeur 的问题;也就是说,如何检查 addEventFilter 方法内部的 KeyCombination ...

这是在我的 Controller 类中...

@FXML private TextField textField;

final KeyCombination keyShiftTab = new KeyCodeCombination(KeyCode.TAB, KeyCombination.SHIFT_ANY);

@FXML
public void initialize()
{
textField.addEventFilter(KeyEvent.KEY_RELEASED, new EventHandler<KeyEvent>()
{
@Override
public void handle(KeyEvent e)
{
if (keyShiftTab.match(e))
{
doSomthing();
e.consume();
}
}
});
}

对我来说就像冠军一样。我希望这会有所帮助。

关于javafx同时捕获多个按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31539250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com