java - 如何在 JavaFX 中将鼠标和事件处理程序组合在一起?

标签 java javafx-2

我正在创建这个典型的图形软件,每次单击时都会添加一个节点,按Shift+单击节点时会绘制一个顶点,等等。所以我想创建一些鼠标键组合用于触发算法。例如,Alt+K+Click 事件会变成 Kruskal 图 ....

到目前为止我已经完成了:

root.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent t) {
        if (t.isAltDown()) {

            root.setOnKeyPressed(new EventHandler<KeyEvent>() {
                    @Override
                    public void handle(KeyEvent k) {
                       System.out.println(k.getText());
        }
.....
.....
}

我进入了键的“扫描”缓冲区,但我不知道如何停止它,k.consume 不起作用......

最佳答案

如果将要作为 ActionListener 执行的操作添加到 MenuItem,则可以使用 MenuItem 加速器属性来指定将触发该操作的组合键。一些很好的例子:http://thierrywasyl.wordpress.com/2012/08/01/keyboard-shortcuts-and-mnemonic-in-javafx/

关于java - 如何在 JavaFX 中将鼠标和事件处理程序组合在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13548683/

相关文章:

带有图像的按钮样式

java - 仅在 chrome 浏览器中打开 url

treeview - Javafx 2 TreeView 过滤

JavaFX WebView - 弹出 Javascript 上下文菜单

java - javafx 应用程序的性能问题

java - 以我们需要多次创建相同上下文的方式设计 Spring 应用程序是最佳实践吗?

java - 向 JFrame 添加更多组件

java - 自动将 org.mysql 更改为 org.sqlite

更改操作系统时间时 sleep() 中的 Java 错误 : any workaround?

java - maven 测试不运行测试