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

时间:2012-11-25 05:48:58

标签: java javafx-2

我正在创建这个典型的图形软件,在每次单击时添加一个节点,在Shit上+单击您绘制顶点的节点,等等。所以我想创建一些用于触发算法的鼠标 - 键组合。例如,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不工作...

1 个答案:

答案 0 :(得分:0)

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