public class Textfield extends Controller<Textfield>
/**
* ControlP5 Textfield
*
*
* find a list of public methods available for the Textfield Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
String textValue = "";
void setup() {
size(700,400);
PFont font = createFont("arial",20);
cp5 = new ControlP5(this);
cp5.addTextfield("input")
.setPosition(20,100)
.setSize(200,40)
.setFont(font)
.setFocus(true)
.setColor(color(255,0,0))
;
cp5.addTextfield("textValue")
.setPosition(20,170)
.setSize(200,40)
.setFont(createFont("arial",20))
.setAutoClear(false)
;
cp5.addBang("clear")
.setPosition(240,170)
.setSize(80,40)
.getCaptionLabel().align(ControlP5.CENTER, ControlP5.CENTER)
;
cp5.addTextfield("default")
.setPosition(20,350)
.setAutoClear(false)
;
textFont(font);
}
void draw() {
background(0);
fill(255);
text(cp5.get(Textfield.class,"input").getText(), 360,130);
text(textValue, 360,180);
}
public void clear() {
cp5.get(Textfield.class,"textValue").clear();
}
void controlEvent(ControlEvent theEvent) {
if(theEvent.isAssignableFrom(Textfield.class)) {
println("controlEvent: accessing a string from controller '"
+theEvent.getName()+"': "
+theEvent.getStringValue()
);
}
}
public void input(String theText) {
// automatically receives results from controller input
println("a textfield event for controller 'input' : "+theText);
}
/*
a list of all methods available for the Textfield Controller
use ControlP5.printPublicMethodsFor(Textfield.class);
to print the following list into the console.
You can find further details about class Textfield in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Controller : CColor getColor()
controlP5.Controller : ControlBehavior getBehavior()
controlP5.Controller : ControlWindow getControlWindow()
controlP5.Controller : ControlWindow getWindow()
controlP5.Controller : ControllerProperty getProperty(String)
controlP5.Controller : ControllerProperty getProperty(String, String)
controlP5.Controller : ControllerView getView()
controlP5.Controller : Label getCaptionLabel()
controlP5.Controller : Label getValueLabel()
controlP5.Controller : List getControllerPlugList()
controlP5.Controller : Pointer getPointer()
controlP5.Controller : String getAddress()
controlP5.Controller : String getInfo()
controlP5.Controller : String getName()
controlP5.Controller : String getStringValue()
controlP5.Controller : String toString()
controlP5.Controller : Tab getTab()
controlP5.Controller : Textfield addCallback(CallbackListener)
controlP5.Controller : Textfield addListener(ControlListener)
controlP5.Controller : Textfield addListenerFor(int, CallbackListener)
controlP5.Controller : Textfield align(int, int, int, int)
controlP5.Controller : Textfield bringToFront()
controlP5.Controller : Textfield bringToFront(ControllerInterface)
controlP5.Controller : Textfield hide()
controlP5.Controller : Textfield linebreak()
controlP5.Controller : Textfield listen(boolean)
controlP5.Controller : Textfield lock()
controlP5.Controller : Textfield onChange(CallbackListener)
controlP5.Controller : Textfield onClick(CallbackListener)
controlP5.Controller : Textfield onDoublePress(CallbackListener)
controlP5.Controller : Textfield onDrag(CallbackListener)
controlP5.Controller : Textfield onDraw(ControllerView)
controlP5.Controller : Textfield onEndDrag(CallbackListener)
controlP5.Controller : Textfield onEnter(CallbackListener)
controlP5.Controller : Textfield onLeave(CallbackListener)
controlP5.Controller : Textfield onMove(CallbackListener)
controlP5.Controller : Textfield onPress(CallbackListener)
controlP5.Controller : Textfield onRelease(CallbackListener)
controlP5.Controller : Textfield onReleaseOutside(CallbackListener)
controlP5.Controller : Textfield onStartDrag(CallbackListener)
controlP5.Controller : Textfield onWheel(CallbackListener)
controlP5.Controller : Textfield plugTo(Object)
controlP5.Controller : Textfield plugTo(Object, String)
controlP5.Controller : Textfield plugTo(Object[])
controlP5.Controller : Textfield plugTo(Object[], String)
controlP5.Controller : Textfield registerProperty(String)
controlP5.Controller : Textfield registerProperty(String, String)
controlP5.Controller : Textfield registerTooltip(String)
controlP5.Controller : Textfield removeBehavior()
controlP5.Controller : Textfield removeCallback()
controlP5.Controller : Textfield removeCallback(CallbackListener)
controlP5.Controller : Textfield removeListener(ControlListener)
controlP5.Controller : Textfield removeListenerFor(int, CallbackListener)
controlP5.Controller : Textfield removeListenersFor(int)
controlP5.Controller : Textfield removeProperty(String)
controlP5.Controller : Textfield removeProperty(String, String)
controlP5.Controller : Textfield setArrayValue(float[])
controlP5.Controller : Textfield setArrayValue(int, float)
controlP5.Controller : Textfield setBehavior(ControlBehavior)
controlP5.Controller : Textfield setBroadcast(boolean)
controlP5.Controller : Textfield setCaptionLabel(String)
controlP5.Controller : Textfield setColor(CColor)
controlP5.Controller : Textfield setColorActive(int)
controlP5.Controller : Textfield setColorBackground(int)
controlP5.Controller : Textfield setColorCaptionLabel(int)
controlP5.Controller : Textfield setColorForeground(int)
controlP5.Controller : Textfield setColorLabel(int)
controlP5.Controller : Textfield setColorValue(int)
controlP5.Controller : Textfield setColorValueLabel(int)
controlP5.Controller : Textfield setDecimalPrecision(int)
controlP5.Controller : Textfield setDefaultValue(float)
controlP5.Controller : Textfield setHeight(int)
controlP5.Controller : Textfield setId(int)
controlP5.Controller : Textfield setImage(PImage)
controlP5.Controller : Textfield setImage(PImage, int)
controlP5.Controller : Textfield setImages(PImage, PImage, PImage)
controlP5.Controller : Textfield setImages(PImage, PImage, PImage, PImage)
controlP5.Controller : Textfield setLabel(String)
controlP5.Controller : Textfield setLabelVisible(boolean)
controlP5.Controller : Textfield setLock(boolean)
controlP5.Controller : Textfield setMax(float)
controlP5.Controller : Textfield setMin(float)
controlP5.Controller : Textfield setMouseOver(boolean)
controlP5.Controller : Textfield setMoveable(boolean)
controlP5.Controller : Textfield setPosition(float, float)
controlP5.Controller : Textfield setPosition(float[])
controlP5.Controller : Textfield setSize(PImage)
controlP5.Controller : Textfield setSize(int, int)
controlP5.Controller : Textfield setStringValue(String)
controlP5.Controller : Textfield setUpdate(boolean)
controlP5.Controller : Textfield setValue(float)
controlP5.Controller : Textfield setValueLabel(String)
controlP5.Controller : Textfield setValueSelf(float)
controlP5.Controller : Textfield setView(ControllerView)
controlP5.Controller : Textfield setVisible(boolean)
controlP5.Controller : Textfield setWidth(int)
controlP5.Controller : Textfield show()
controlP5.Controller : Textfield unlock()
controlP5.Controller : Textfield unplugFrom(Object)
controlP5.Controller : Textfield unplugFrom(Object[])
controlP5.Controller : Textfield unregisterTooltip()
controlP5.Controller : Textfield update()
controlP5.Controller : Textfield updateSize()
controlP5.Controller : boolean isActive()
controlP5.Controller : boolean isBroadcast()
controlP5.Controller : boolean isInside()
controlP5.Controller : boolean isLabelVisible()
controlP5.Controller : boolean isListening()
controlP5.Controller : boolean isLock()
controlP5.Controller : boolean isMouseOver()
controlP5.Controller : boolean isMousePressed()
controlP5.Controller : boolean isMoveable()
controlP5.Controller : boolean isUpdate()
controlP5.Controller : boolean isVisible()
controlP5.Controller : float getArrayValue(int)
controlP5.Controller : float getDefaultValue()
controlP5.Controller : float getMax()
controlP5.Controller : float getMin()
controlP5.Controller : float getValue()
controlP5.Controller : float[] getAbsolutePosition()
controlP5.Controller : float[] getArrayValue()
controlP5.Controller : float[] getPosition()
controlP5.Controller : int getDecimalPrecision()
controlP5.Controller : int getHeight()
controlP5.Controller : int getId()
controlP5.Controller : int getWidth()
controlP5.Controller : int listenerSize()
controlP5.Controller : void remove()
controlP5.Controller : void setView(ControllerView, int)
controlP5.Textfield : String getText()
controlP5.Textfield : String[] getTextList()
controlP5.Textfield : Textfield clear()
controlP5.Textfield : Textfield keepFocus(boolean)
controlP5.Textfield : Textfield setAutoClear(boolean)
controlP5.Textfield : Textfield setColor(int)
controlP5.Textfield : Textfield setColorCursor(int)
controlP5.Textfield : Textfield setFocus(boolean)
controlP5.Textfield : Textfield setFont(ControlFont)
controlP5.Textfield : Textfield setFont(PFont)
controlP5.Textfield : Textfield setFont(int)
controlP5.Textfield : Textfield setHeight(int)
controlP5.Textfield : Textfield setInputFilter(int)
controlP5.Textfield : Textfield setPasswordMode(boolean)
controlP5.Textfield : Textfield setSize(int, int)
controlP5.Textfield : Textfield setText(String)
controlP5.Textfield : Textfield setValue(String)
controlP5.Textfield : Textfield setValue(float)
controlP5.Textfield : Textfield setWidth(int)
controlP5.Textfield : Textfield submit()
controlP5.Textfield : boolean isAutoClear()
controlP5.Textfield : boolean isFocus()
controlP5.Textfield : int getIndex()
controlP5.Textfield : void draw(PGraphics)
controlP5.Textfield : void keyEvent(KeyEvent)
java.lang.Object : String toString()
java.lang.Object : boolean equals(Object)
created: 2015/03/24 12:21:31
*/
Modifier and Type | Class and Description |
---|---|
static class |
Textfield.InputFilter |
Modifier and Type | Field and Description |
---|---|
static int |
cursorWidth |
autoHeight, autoSpacing, autoWidth
acceptClassList, ACTION_BROADCAST, ACTION_CLICK, ACTION_DOUBLE_PRESS, ACTION_DRAG, ACTION_END_DRAG, ACTION_ENTER, ACTION_EXIT, ACTION_LEAVE, ACTION_MOVE, ACTION_PRESS, ACTION_PRESSED, ACTION_RELEASE, ACTION_RELEASE_OUTSIDE, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTION_START_DRAG, ACTION_WHEEL, ACTIVE, ALL, ALT, AQUA, ARC, ARRAY, BACKSPACE, BASELINE, BITFONT, BLACK, BLUE, BOOLEAN, BOTTOM, BOTTOM_OUTSIDE, CAPTIONLABEL, CENTER, CHECKBOX, COMMANDKEY, CONTROL, controlEventClass, CUSTOM, DECREASE, DEFAULT, DELETE, delimiter, DONE, DOWN, DROPDOWN, ELLIPSE, ENTER, ESCAPE, EVENT, eventMethod, FADEIN, FADEOUT, FIELD, FLOAT, FUCHSIA, GRAY, GREEN, grixel, HALF_PI, HIDE, HIGHLIGHT, HORIZONTAL, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, J2D, JSON, KEYCONTROL, LEFT, LEFT_OUTSIDE, LIME, LINE, LIST, LOAD, MAROON, MENU, METHOD, MOVE, MULTI, MULTIPLES, NAVY, OLIVE, ORANGE, OVER, P2D, P3D, pathdelimiter, PI, PRESS, PRESSED, PRINT, PURPLE, RED, RELEASE, RELEASED, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SERIALIZED, SHIFT, SILVER, SINGLE, SINGLE_COLUMN, SINGLE_ROW, SPRITE, standard56, standard58, STRING, SWITCH, SWITCH_BACK, SWITCH_FORE, synt24, TAB, TEAL, THEME_A, THEME_CP52014, THEME_CP5BLUE, THEME_GREY, THEME_RED, THEME_RETRO, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TREE, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT, WHITE, YELLOW
Constructor and Description |
---|
Textfield(ControlP5 theControlP5,
ControllerGroup<?> theParent,
java.lang.String theName,
java.lang.String theDefaultValue,
int theX,
int theY,
int theWidth,
int theHeight) |
Textfield(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend Textfield.
|
Modifier and Type | Method and Description |
---|---|
Textfield |
clear() |
void |
draw(processing.core.PGraphics theGraphics)
the default draw function for each controller extending superclass Controller.
|
int |
getIndex() |
java.lang.String |
getText() |
java.lang.String[] |
getTextList() |
boolean |
isAutoClear() |
boolean |
isFocus()
check if the textfield is active and in focus.
|
Textfield |
keepFocus(boolean theValue) |
void |
keyEvent(processing.event.KeyEvent theKeyEvent) |
Textfield |
setAutoClear(boolean theValue) |
Textfield |
setColor(int theColor) |
Textfield |
setColorCursor(int theColor) |
Textfield |
setFocus(boolean theValue) |
Textfield |
setFont(int theFont) |
Textfield |
setHeight(int theHeight) |
Textfield |
setInputFilter(int theInputType) |
Textfield |
setPasswordMode(boolean theFlag) |
Textfield |
setSize(int theWidth,
int theHeight) |
Textfield |
setText(java.lang.String theText) |
Textfield |
setValue(float theValue) |
Textfield |
setValue(java.lang.String theText) |
Textfield |
setWidth(int theWidth) |
Textfield |
submit()
make the controller execute a return event.
|
add, addCallback, addListener, addListenerFor, align, bringToFront, bringToFront, changeValue, continuousUpdateEvents, getAbsolutePosition, getAddress, getArrayValue, getArrayValue, getBehavior, getCaptionLabel, getColor, getControllerPlugList, getControlWindow, getDecimalPrecision, getDefaultValue, getHeight, getId, getInfo, getLabel, getMax, getMin, getName, getParent, getPickingColor, getPointer, getPosition, getProperty, getProperty, getStringValue, getTab, getValue, getValueLabel, getView, getWidth, getWindow, hide, init, isActive, isBroadcast, isInside, isLabelVisible, isListening, isLock, isMouseOver, isMousePressed, isMoveable, isUpdate, isUserInteraction, isVisible, linebreak, listen, listenerSize, lock, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, onChange, onClick, onDoublePress, onDrag, onDraw, onEndDrag, onEnter, onLeave, onMove, onPress, onRelease, onReleaseOutside, onStartDrag, onWheel, plugTo, plugTo, plugTo, plugTo, registerProperty, registerProperty, registerTooltip, remove, remove, removeBehavior, removeCallback, removeCallback, removeListener, removeListenerFor, removeListenersFor, removeProperty, removeProperty, set, setAbsolutePosition, setAddress, setArrayValue, setArrayValue, setBehavior, setBroadcast, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorCaptionLabel, setColorForeground, setColorLabel, setColorValue, setColorValueLabel, setDecimalPrecision, setDefaultValue, setFont, setFont, setGroup, setGroup, setId, setImage, setImage, setImages, setImages, setImages, setLabel, setLabelVisible, setLock, setMax, setMin, setMouseOver, setMousePressed, setMoveable, setParent, setPosition, setPosition, setSize, setStringValue, setTab, setTab, setUpdate, setUserInteraction, setValueLabel, setValueSelf, setView, setView, setVisible, show, toString, unlock, unplugFrom, unplugFrom, unregisterTooltip, update, updateAbsolutePosition, updateEvents, updateInternalEvents, updateSize, x, y
public Textfield(ControlP5 theControlP5, ControllerGroup<?> theParent, java.lang.String theName, java.lang.String theDefaultValue, int theX, int theY, int theWidth, int theHeight)
public Textfield(ControlP5 theControlP5, java.lang.String theName)
theControlP5
- theName
- /**
* ControlP5 extending Controllers
*
* the following example shows how to extend the Controller class to
* create customizable Controllers. You can either extend the Controller class itself,
* or any class that extends Controller itself like the Slider, Button, DropdownList, etc.
*
* How to:
*
* 1) do a super call to the convenience constructor requiring
* 2 parameter (ControlP5 instance, name)
*
* 2) the Controller class has a set of empty methods that allow you to capture
* inputs from the mouse including
* onEnter(), onLeave(), onPress(), onRelease(), onClick(), onScroll(int), onDrag()
* These you can override and include functionality as needed.
*
* 3) use method getPointer() to return the local (relative)
* xy-coordinates of the controller
*
* 4) after instantiation custom controllers are treated the same
* as default controlP5 controllers.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
PApplet p;
void setup() {
size(400, 400);
cp5 = new ControlP5(this);
// create 2 groups to show nesting of custom controllers and
//
Group g1 = cp5.addGroup("a").setPosition(0,100).setWidth(180);
Group g2 = cp5.addGroup("b").setPosition(0,10).setWidth(180);
g2.moveTo(g1);
// create 2 custom Controllers from class MyButton
// MyButton extends Controller and inherits all methods accordingly.
new MyButton(cp5, "b1").setPosition(0, 0).setSize(180, 200).moveTo(g2);
new MyButton(cp5, "b2").setPosition(205, 15).setSize(180, 200);
}
void draw() {
background(0);
}
// b1 will be called from Controller b1
public void b1(float theValue) {
println("yay button "+theValue);
}
public void controlEvent(ControlEvent theEvent) {
println("controlEvent : "+theEvent);
}
// Create a custom Controller, please not that
// MyButton extends Controller,
// is an indicator for the super class about the type of
// custom controller to be created.
class MyButton extends Controller {
int current = 0xffff0000;
float a = 128;
float na;
int y;
// use the convenience constructor of super class Controller
// MyButton will automatically registered and move to the
// default controlP5 tab.
MyButton(ControlP5 cp5, String theName) {
super(cp5, theName);
// replace the default view with a custom view.
setView(new ControllerView() {
public void display(PGraphics p, Object b) {
// draw button background
na += (a-na) * 0.1;
p.fill(current,na);
p.rect(0, 0, getWidth(), getHeight());
// draw horizontal line which can be moved on the x-axis
// using the scroll wheel.
p.fill(0,255,0);
p.rect(0,y,width,10);
// draw the custom label
p.fill(128);
translate(0,getHeight()+14);
p.text(getName(),0,0);
p.text(getName(),0,0);
}
}
);
}
// override various input methods for mouse input control
void onEnter() {
cursor(HAND);
println("enter");
a = 255;
}
void onScroll(int n) {
println("scrolling");
y -= n;
y = constrain(y,0,getHeight()-10);
}
void onPress() {
println("press");
current = 0xffffff00;
}
void onClick() {
Pointer p1 = getPointer();
println("clicked at "+p1.x()+", "+p1.y());
current = 0xffffff00;
setValue(y);
}
void onRelease() {
println("release");
current = 0xffffffff;
}
void onMove() {
println("moving "+this+" "+_myControlWindow.getMouseOverList());
}
void onDrag() {
current = 0xff0000ff;
Pointer p1 = getPointer();
float dif = dist(p1.px(),p1.py(),p1.x(),p1.y());
println("dragging at "+p1.x()+", "+p1.y()+" "+dif);
}
void onReleaseOutside() {
onLeave();
}
void onLeave() {
println("leave");
cursor(ARROW);
a = 128;
}
}
public Textfield clear()
public void draw(processing.core.PGraphics theGraphics)
Controller
draw
in interface CDrawable
draw
in interface ControllerInterface<Textfield>
draw
in class Controller<Textfield>
ControllerView
public int getIndex()
public java.lang.String getText()
public java.lang.String[] getTextList()
public boolean isAutoClear()
public boolean isFocus()
public Textfield keepFocus(boolean theValue)
public void keyEvent(processing.event.KeyEvent theKeyEvent)
keyEvent
in interface ControllerInterface<Textfield>
keyEvent
in class Controller<Textfield>
public Textfield setAutoClear(boolean theValue)
public Textfield setColor(int theColor)
public Textfield setColorCursor(int theColor)
public Textfield setFocus(boolean theValue)
public Textfield setFont(int theFont)
public Textfield setHeight(int theHeight)
setHeight
in class Controller<Textfield>
public Textfield setInputFilter(int theInputType)
public Textfield setPasswordMode(boolean theFlag)
public Textfield setSize(int theWidth, int theHeight)
setSize
in class Controller<Textfield>
public Textfield setText(java.lang.String theText)
public Textfield setValue(float theValue)
setValue
in interface ControllerInterface<Textfield>
setValue
in class Controller<Textfield>
theValue
- floatpublic Textfield setValue(java.lang.String theText)
public Textfield setWidth(int theWidth)
setWidth
in class Controller<Textfield>
public Textfield submit()
processing library controlP5 by Andreas Schlegel. (c) 2006-2016