public PerformanceScenario getSetTextComponentTextPerformanceScenario()

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()));
            };
        };
    }