2016-03-22 11 views
-1

handleの方法でgetcode()をどのように使用できますか?EventHandlerでgetCode()を使用する方法

どのキーが押されたのか理解したい。

注:handleメソッドで私は変更したくない "のKeyEvent" と "イベント"

public class Main extends Application implements EventHandler { 
    public static void main(String[] args) { 
    launch(args); 
    } 

    Scene scene; 
    Group root = new Group(); 

    @Override 
    public void start(Stage stage) { 
    scene = new Scene(root, 600, 800); 
    scene.setOnKeyPressed(this); 
    stage.setScene(scene); 
    stage.show(); 
    } 

    @Override 
    public void handle(Event event) { 
    if (event.getEventType().equals(KeyEvent.KEY_PRESSED)) { 
     System.out.println("You Pressing : " /* required code here */); 
    } 
    } 

} 
+0

キャスティング、右? – bcsb1001

答えて

1

唯一の選択肢は

System.out.println("You Pressing : " + ((KeyEvent) event).getCode()); 

getCodeキャストがKeyEvent上の方法でありますその静的型の参照を介してアクセスする必要があります。これを達成するためにEventリファレンスを使用することはできません。あなたが本当に欲しかったのであれば、反射を使うことができましたが、それはダウンキャストよりはるかに乱雑でハッキリでしょう。

+0

ありがとう –

関連する問題