java - 向列表添加元素: error "Constructor undefined "

标签 java processing

我想使用以下方法添加到具有 3 个参数(iD 及其 x y 位置)的 activList 元素: activList.add(new Fiducial(iD, x, y ));

import TUIO.*;
TuioProcessing tuioClient;

// Grid variables
int cols = 10, rows = 10;
int rectangleWidth = 100;
int rectangleHeight = 60;

// these are some helper variables which are used
// to create scalable graphical feedback
int k, l, iD;
float cursor_size = 15;
float object_size = 60;
float table_size = 760;
float scale_factor = 1;
float x, y;

ArrayList<Fiducial> activList;


public class Fiducial {

  public int iD; 
  public float x;
  public float y;
}

void draw() {
  // Begin loop for columns
  for ( k = 0; k < cols; k++) {
    // Begin loop for rows
    for ( l = 0; l < rows; l++) {
      fill(255);
      stroke(0);
      rect(k*rectangleWidth, l*rectangleHeight, rectangleWidth, rectangleHeight);
    }
  }


  // This part detects the fiducial markers 
  float obj_size = object_size*scale_factor; 
  float cur_size = cursor_size*scale_factor; 

  ArrayList<TuioObject> tuioObjectList = tuioClient.getTuioObjectList();
  for (int i=0; i<tuioObjectList.size (); i++) {
    TuioObject tobj= tuioObjectList.get(i);
    stroke(0);
    fill(0, 0, 0);
    pushMatrix();
    translate(tobj.getScreenX(width), tobj.getScreenY(height));
    rotate(tobj.getAngle());
    rect(-80, -40, 80, 40);
    popMatrix();
    fill(255);
    x = round(10*tobj.getX ());
    y = round(10*tobj.getY ());
    iD = tobj.getSymbolID();
    activList.add(new Fiducial(iD, x, y ));
  }
}

运行此程序时,我在这一行收到错误“构造函数 FiducialDetection.Fiducial(int,float,float) 未定义”:

activList.add(new Fiducial(iD, x, y ));

我不明白,我定义它使用:

public class Fiducial {

  public int iD; 
  public float x;
  public float y;
}

为什么我仍然收到此错误?

最佳答案

您必须添加带有参数的构造函数。

public class Fiducial {

    public int iD;
    public float x;
    public float y;

    public Fiducial(int iD, float x, float y) {
        this.iD = iD;
        this.x = x;
        this.y = y;
    }
}

关于java - 向列表添加元素: error "Constructor undefined ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325110/

相关文章:

java - 静态初始化与动态初始化

java - 与变量相关的单词 'type' 是什么意思?

javascript - Processing 2.0 javaScript 模式的示例 variableInputs 如何工作?如何调整?

java - 如何更新 HashMap 中的所有值?

java - 从 ListSelectionListeners 和 ActionListeners 传递变量

java - 如何使用 JNA 访问 Mac OS X 内核框架 (mach)

java - 如何用jdbc实现一对多

java - 如何让屏幕/摄像头跟随 box2d 主体移动

java - java处理中如何一键来回改变背景颜色?

javascript - 处理 JS svg 加载 - Google Appengine