in src/org/pushingpixels/lightbeam/panels/TextFieldsPanel.java [137:176]
public PerformanceScenario getSetTextComponentTextPerformanceScenario() {
return new BasePerformanceScenario<JTextComponent>(TextFieldsPanel.this,
JTextComponent.class, false) {
int[] perms;
@Override
public String getName() {
return "Changing text fields text";
}
@Override
public void setup() {
super.setup();
this.perms = LightBeamUtils.getPermutation(LightBeamUtils.dictionary.length,
getIterationCount() * this.controls.size() * 2);
}
@Override
public int getIterationCount() {
return 10;
};
@Override
public void runSingleIteration(int iterationNumber) {
int count = 0;
for (JTextComponent field : this.controls) {
int index = this.controls.size() * iterationNumber + count;
if (field instanceof JFormattedTextField) {
int value = 100 + this.perms[index] * 10;
field.setText(value + "0.000");
} else {
field.setText(LightBeamUtils.dictionary[this.perms[index]] + " "
+ LightBeamUtils.dictionary[this.perms[index + 1]]);
}
count++;
}
paintImmediately(new Rectangle(0, 0, getWidth(), getHeight()));
};
};
}