1

我正在寻找大约 10 个文本框供用户输入,然后将该值存储为变量。无论如何要制作一个以参数为位置的文本框函数吗?

4

2 回答 2

4

是的,这可以使用库controlP5

import controlP5.*;

ControlP5 cp5;

String[] textfieldNames = {"tf1", "tf2", "tf3", "tf4", "tf5"};

void setup() {
  size(700,400);

  PFont font = createFont("arial",20);

  cp5 = new ControlP5(this);

  int y = 20;
  int spacing = 60;
  for(String name: textfieldNames){
    cp5.addTextfield(name)
       .setPosition(20,y)
       .setSize(100,40)
       .setFont(font)
       .setFocus(true)
       .setColor(color(255,0,0))
       ;
     y += spacing;
  }

  textFont(font);
}

void draw() {
  background(0);
}

void controlEvent(ControlEvent theEvent) {
  if(theEvent.isAssignableFrom(Textfield.class)) {
    println("controlEvent: accessing a string from controller '"
            +theEvent.getName()+"': "
            +theEvent.getStringValue()
            );
  }
}
于 2013-07-14T08:20:26.647 回答
3

如果您是一名熟练的 Java 程序员,您可以考虑使用Swing 库,这是主要的 Java GUI 小部件工具包。但是,您也会发现自己在处理核心代码中乱七八糟。不要那样做。

[在处理草图中] 使用 Java 代码时的主要规则:不能使用大多数 AWT 或 Swing(构建在 AWT 之上),因为它会干扰图形模型。如果您想为您的项目添加滚动条和按钮,您应该使用处理代码来制作它们,或者将您的处理小程序嵌入到另一个 Swing 或 AWT 应用程序中。即使它们看起来有效,但当您尝试在其他操作系统或其他 Java 版本上运行时,这些草图通常也会中断。–处理常见问题

如果您不是 Java 程序员,请坚持使用处理库或创建自己的文本字段类。

流行的ControlP5 GUI 库具有用于文本字段文本区域的内置类。到目前为止,此版本已经过处理 2.0b7 的测试,它可能不适用于最新的 2.0 版本。

您还可以使用G4P库及其文本区域实现。

如果这是您第一次使用外部库,请打开处理并通过从上方栏菜单中的“导入库...”子菜单中选择“添加库...”来添加贡献的库。

编辑:我从未尝试过,但Interfascia(alpha 版本)也有一个文本字段类。文档看起来很容易阅读,代码也很容易使用。

于 2013-07-13T23:25:18.460 回答