1

我目前正在编辑库 ControlP5 以在 Eclipse 上进行处理。问题是ControlWindow.java 文件总是出现意外错误:

.setBounds(int, int, int, int) 方法对于 PApplet 是未定义的。

这是发生错误的方法的代码:

public ControlWindow setUndecorated( boolean theFlag ) {
    if ( theFlag != isUndecorated( ) ) {
        isUndecorated = theFlag;
        _myApplet.frame.removeNotify( );
        _myApplet.frame.setUndecorated( isUndecorated );
        _myApplet.setSize( _myApplet.width , _myApplet.height );
        _myApplet.setBounds( 0 , 0 , _myApplet.width , _myApplet.height );
        _myApplet.frame.setSize( _myApplet.width , _myApplet.height );
        _myApplet.frame.addNotify( );
    }
    return this;
}
4

1 回答 1

1

该错误表示PApplet该类不包含此方法,如果您使用的是处理 3,则该方法是正确的。

setBounds()是处理 2 中的一种方法;PApplet 类用于从java.applet它以前的一个类继承此方法extend。在 Processing 3 中,PApplet 离开了 Java 小程序类,但是 controlp5 源代码很旧,并且是用 Processing 2 构建的,而不是 3。


setBounds()方法指定框架的大小,以及左上角的位置。

...这是setSize()andsetPosition()方法所涵盖的功能,存在于处理 3 中(实际上setUndecorated()发现错误的方法已经调用setSize())。

因此,删除该行以使库与处理 3 兼容,或者改用处理 2。

于 2020-05-22T16:36:28.810 回答