如何在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 :(得分:2)
唯一的选择是演员
System.out.println("You Pressing : " + ((KeyEvent) event).getCode() );
getCode
仅是KeyEvent
上的方法,因此您必须通过该静态类型的引用来访问它。您无法使用Event
引用来完成此操作。如果你真的想要你可以使用反射,但这将比垂头丧气更加混乱和黑客。