使用java接口“调用”addEventFilter方法
我怎样才能正确地使用它
EventHandler<KeyEvent> handler = event -> System.out.println("EeventHandler");
EventType<KeyEvent> event = KeyEvent.KEY_RELEASED;
List<Field> txtFields = Arrays.stream(getClass().getDeclaredFields()).filter(field -> field.getType().isAssignableFrom(TextField.class)).collect(Collectors.toList());
txtFields.forEach(field -> {
try {
Method m = field.getType().getMethod("addEventFilter", event.getClass(), EventHandler.class);
m.invoke(field, event, handler);
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
e.printStackTrace();
}
});
获取“m.invoke(字段、事件、处理程序);”上的“IllegalArgumentException:对象不是声明类的实例”错误,那么EventHandler对象的任何内容都可能是错误的
共 (0) 个答案