3

我正在创建这个典型的图形软件,在每次单击时添加一个节点,在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 不起作用......

4

1 回答 1

0

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

于 2012-11-25T14:26:20.643 回答