2

Ctrl同時押しなど、複数のキーの組み合わせをリッスンするイベント ハンドラーを作成したいと考えてC います。

なぜ何かがうまくいかないのif((... == Control) && (... == C))ですか?

これが私が作業しようとしているコードです:

textField.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
    public void handle(KeyEvent event) {
        if ((event.getCode() == KeyCode.CONTROL) && (event.getCode() == KeyCode.C)) {
            System.out.println("Control pressed");
        } 
    };
});
4

4 に答える 4

6

あなたはこの解決策を試すことができます、それは私にとってうまくいきました!

final KeyCombination keyCombinationShiftC = new KeyCodeCombination(
KeyCode.C, KeyCombination.CONTROL_DOWN);

textField.setOnKeyPressed(new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent event) {
        if (keyCombinationShiftC.match(event)) {
            logger.info("CTRL + C Pressed");
        }
    }
});
于 2016-03-07T08:15:44.747 に答える
1

これはいくらか役に立ちます。キーの組み合わせ。

final KeyCombination keyComb1=new KeyCodeCombination(KeyCode.C,KeyCombination.CONTROL_DOWN);

https://code.google.com/p/javafx-demos/source/browse/trunk/javafx-demos/src/main/java/com/ezest/javafx/demogallery/KeyCombinationDemo.java?r=27

于 2013-11-13T03:12:34.467 に答える