我有一个使用Eclipse中运行的ControlP5库的处理项目,在该项目中,一旦按键盘上的任意键,就会崩溃,并抛出IllegalArgumentException异常:
Exception in thread "Animation Thread" java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1076)
at processing.core.PApplet.handleKeyEvent(PApplet.java:2848)
at processing.core.PApplet.dequeueKeyEvents(PApplet.java:2793)
at processing.core.PApplet.handleDraw(PApplet.java:2132)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:197)
at processing.core.PApplet.run(PApplet.java:1998)
at java.lang.Thread.run(Unknown Source)
该程序(在applet中运行)可以通过鼠标拖动,滑块等完美运行,直到按下某个键。似乎有某种未知的键侦听器正在等待输入并且使用不正确?很难说,因为异常是指与我编写的处理代码无关的Java代码。
即使我有一个仅定义ControlP5对象的程序,该程序也会遇到相同的错误:
import processing.core.*;
import controlP5.*;
public class Lensing extends PApplet {
ControlP5 controlP5;
public Lensing() {
}
public void setup() {
controlP5 = new ControlP5(this);
}
public void draw() {
}
public static void main(String args[]) {
PApplet.main(new String[] { "--present", "edu.umd.astro.Lensing" });
}
}
注释掉单个controlP5定义,并且不会发生异常。
最佳答案
原来这是与使用2.0b1核心jar文件有关的问题,可以通过从http://processing.org/download/更新到2.0b3来解决
请在此处