我正在使用以下代码监听KeyEvents:
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Sandpit extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root);
scene.setOnKeyPressed(e -> System.out.println(e.getCode()));
primaryStage.setScene(scene);
primaryStage.setOnCloseRequest(e -> System.exit(0));
primaryStage.show();
}
}
我在使用Java 8的Mac(OS X 10.10.4)上运行此代码。
当我输入组合键Command-Period(cmd-。)时,即按住命令键并输入句点键,我得到以下输出:
COMMAND
PERIOD
A
我不知道这个" A" KeyEvent来自。我试过的其他每个组合都按预期工作。
任何人都可以解释这个并建议如何摆脱它吗?
备选关键字:cmd-period command-period cmd-。命令 -
答案 0 :(得分:0)
以下是来自Windows 7用户的一些反馈(当然没有Command键,但我们使用CTRL代替)。具有PERIOD的所有组合CTRL,SHIFT,ALT,WINDOWS等按预期工作。因此,我猜测Mac COMMAND键会像添加该字符一样有趣。事实上,如果您检查Mac键盘序列,您会发现Mac将COMMAND PERIOD视为ESCape。虽然这并不能解释' A'在我的书中,我认为你需要集中注意力。