我正在通过重写方法修补org.apache.batik.bridge.UpdateManager
@Override
public void interrupt() { ... }为了避免
java.lang.IllegalStateException: RunnableQueue not started or has exited
at org.apache.batik.util.RunnableQueue.invokeLater(RunnableQueue.java:277)
at java.lang.Thread.run(Unknown Source)新类是
public class SVGUpdateManager extends org.apache.batik.bridge.UpdateManager从JSVGCanvas调用时
SVGUpdateManager um = (SVGUpdateManager) getUpdateManager();我得到一个java.lang.ClassCastException,org.apache.batik.bridge.UpdateManager不能强制转换为SVGUpdateManager
发布于 2018-12-14 22:15:16
好的,根据你的评论,问题是你不能将一个超类转换为一个子类,只能将一个子类转换为一个超类。
例如:
public class Main {
public static void main(String[] args) {
A a = new A();
B castedA = (A) a; // casting is unnecessary
B b = new B();
A castedB = (A) b; // class cast exception
}
public static class B {
}
public static class A extends B {
}
}我认为你应该实例化和UpdateManager,并将它包装在你的自定义类中(而不是扩展它的功能)。然后代理出原始实例的函数。
或者你可以试试this
https://stackoverflow.com/questions/53780659
复制相似问题