簡體   English   中英

如何在處理中使文本框起作用?

[英]How can I make a textbox function in processing?

我希望為用戶輸入約10個文本框,然后將該值存儲為變量。 無論如何,要使用參數作為位置來制作文本框功能?

是的,使用庫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()
            );
  }
}

如果您是熟練的Java程序員,則可以考慮使用Swing庫 (主要的Java GUI小部件工具箱)。 但是,您也會發現自己正在處理Processing核心代碼。 不要那樣做

使用Java代碼[在處理草圖中]的主要規則:您不能使用大多數AWT或Swing(基於AWT構建),因為它會干擾圖形模型。 如果要向項目添加滾動條和按鈕,則應使用“處理”代碼來制作它們,或將“處理”小程序嵌入另一個Swing或AWT應用程序中。 即使它們似乎起作用,當您嘗試在其他操作系統或其他Java版本上運行時,此類草圖通常也會損壞。 處理常見問題

如果您不是Java程序員,請堅持使用Processing庫或創建自己的文本字段類。

流行的ControlP5 GUI庫具有用於文本字段文本區域的內置類。 到目前為止,此版本已經過處理2.0b7的測試,它可能不適用於最新的2.0版本。

您也可以使用G4P庫及其文本區域實現。

如果是第一次使用外部庫,請打開“處理”並通過從上方欄菜單的“導入庫...”子菜單中選擇“添加庫...”來添加貢獻的庫。

編輯:我從未嘗試過,但是Interfascia (alpha版本)也有一個文本字段類。 該文檔似乎易於閱讀,代碼也易於使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM