Med hjälp av Tweak bearbetning biblioteket (3 / 4 steg)
Steg 3: Hur justera verk
Begreppsmässigt Tweak består av två delar: den Tweak Panel (som visar variabler och tillåter användare att interagera och byta dem) och en klass struktur som möjliggör gemensamma (eller kombinerad/komplexa) variabeltyper att dela en uppsättning metoder för visning manipulation och gränserna kontroll.
Panelen Justera sträcker sig en JFrame och möjliggör ett nytt fönster skapas där variabler visas. En handfull på interaktion koden som hanterar musen klickar drar och rullning (om du har massor av variabler!).
Nu låt oss ta en titt på hur en Tweak typ (till exempel TweakInt TweakFloat TweakBool och TweakPoint) fungerar.
Alla typer i Tweak förlänga och abstrakt klass TweakParameter. Detta säkerställer att alla Tweak typer kommer att kunna arbeta med panelen Justera. En TweakParameter har en beskrivning ett sätt att öka/minska en variabel gränser kontroll och en sträng värde. Varje Tweak typ tar en bit kod men allt är ganska rakt framåt.
Här är vad TweakInt ser ut: class TweakInt extends TweakParameter{ ------------------------------
------------------------------
int origVal;
int val;
int maxVal;
int minVal;
int step;
public TweakInt(String desc int val int step int minVal int maxVal){
this.val = val;
this.origVal = val;
this.minVal = minVal;
this.maxVal = maxVal;
this.step = step;
this.desc = desc;
tweakParamList.add(this);
tweak_initParamManagerIfNeeded();
}
public TweakInt(String desc int val int step){
this(desc val step -Integer.MAX_VALUE Integer.MAX_VALUE);
}
public TweakInt(String desc int val){
this(desc val 1);
}
boolean supportsX(){
return true;
}
boolean supportsY(){
return false;
}
void incX(){
val += step;
}
void decX(){
val -= step;
}
void incY(){
}
void decY(){
}
int equalToOriginalValue(){
if(val < origVal){
return -1;
}
else{
if(val > origVal){
return +1;
}
else{
return 0;
}
}
}
String valString(){
return ""+val;
}
void keepInBounds(){
if(val > maxVal){
val = maxVal;
}
if(val < minVal){
val = minVal;
}
}
}
Här samma strukturen kan du skapa din egen Tweak typer. Grundläggande typer (såsom dubbel lång Char etc.) kan byggas mycket lik TweakInt men det finns ingen anledning att stanna där. Mer komplexa typer kan också skapas som fungerar med flera variabler och har inre tillstånd eller kommunicera med andra Tweak variabler.
Om du är intresserad av att bygga din egen Tweak typer finns i filen Tweak.pde (några av de andra typerna kan också hjälpa som den TweakPoint som kontrollerar två variabler X och Y på samma gång).