我正在创建这个典型的图形软件,每次单击时都会添加一个节点,按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/