折叠ControlP5 DropdownList

时间:2014-01-13 18:26:23

标签: processing control-p5

我遇到了折叠ControlP5 DropdownList对象的问题。

我选择了我想要的项目,箭头指向它,好像它想要折叠......但所有的选择仍然存在!选择完成后,它永远不会崩溃。

我查看了isOpen()函数,它告诉我列表已关闭。我还探讨了isCollapse()函数,它告诉我列表已经崩溃......

这是我实例化对象的代码:

    SimilarityChoices = P5Controller.addDropdownList("SimChoices").setPosition((float)(width * .7), 450);
    SimilarityChoices.addItem("Euclidian", 1);
    SimilarityChoices.addItem("Manhattan", 2);
    SimilarityChoices.setValue(2);      
    this.SimilarityChoices.enableCollapse();
    this.SimilarityChoices.setItemHeight(20);
    this.SimilarityChoices.actAsPulldownMenu(true);

如果有人能给我一些关于如何完成这项工作的提示,我会非常感激。 (我很乐意提供更多信息)

1 个答案:

答案 0 :(得分:1)

您会注意到下拉列表示例草图包含以下内容:

void draw() {
  background(128);
}

用于绘制列表展开时先前渲染的像素。我使用您的代码写了一个草图,以更清楚地说明差异:

import controlP5.*;

ControlP5 P5Controller;
DropdownList SimilarityChoices;

void setup() {
  size(500, 500);
  P5Controller = new ControlP5(this);
  SimilarityChoices = P5Controller.addDropdownList("SimChoices").setPosition((float)(width * .7), 450);
  SimilarityChoices.addItem("Euclidian", 1);
  SimilarityChoices.addItem("Manhattan", 2);
  SimilarityChoices.setValue(2);      
  this.SimilarityChoices.enableCollapse();
  this.SimilarityChoices.setItemHeight(20);
  this.SimilarityChoices.actAsPulldownMenu(true);
}
void draw() {
  //background(128);
}

取消注释background(128);行会使其按预期运行。我希望有所帮助!请注意,您编码的某些设置可能不再是必需的。