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(ControlFont theFont) |
Textfield |
setFont(int theFont) |
Textfield |
setFont(processing.core.PFont thePFont) |
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, 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(ControlFont theFont)
public Textfield setFont(int theFont)
public Textfield setFont(processing.core.PFont thePFont)
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-2015