0

我有一个处理项目,它使用在 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)

该程序(在小程序中运行)可以通过鼠标拖动、滑块等完美运行,直到按下一个键。似乎有某种未知的 keylistener 等待输入并错误地使用它?很难说,因为异常是指与我编写的处理代码无关的 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的定义,不会出现异常。

4