【问题标题】:How can I make a textbox function in processing?如何在处理中制作文本框功能?
【发布时间】:2013-07-13 20:44:40
【问题描述】:

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

【问题讨论】:

  • 什么样的文本框、awt、Swing、web、Android 为我们提供了任何尝试的代码?
  • 如果您不需要使用 processing.js,您可以查看contributed libraries page 的 GUI 库。

标签: java processing


【解决方案1】:

是的,这可以使用库 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()
            );
  }
}

【讨论】:

    【解决方案2】:

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

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

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

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

    您还可以使用 G4P 库及其 text area 实现。

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      相关资源
      最近更新 更多