Is there a way to speed up Component refreshing?

If the applet on this page is run in the Sun Java VM on Windows, after pressing the green button in the lowest row labeled "Change the text on the buttons" a visible wave of refreshing goes down the applet.  Using the Microsoft JVM the change happens much faster. 

Are there ways to get the performance under the Sun JVM to be as good as the Microsoft JVM, or does the Microsoft JVM just have an advantage due to better access to native components?

If you have any insights, workarounds or comments about this test page please contact Mickey Segal.  A listing of many Java resources is at this link.

 

Source code:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class component_refresh extends Applet implements ActionListener {

Button[] button;
Button changeButton;
String[] buttonString= {"Even text", "Odd"};
int number = 260;
int count;

public void init()
{
    setBackground(new Color(225,225, 255));
    button = new Button[number];
    for (int i=0; i<number; i++)
    {
        button[i] = new Button(buttonString[count%2]);
        add(button[i]);
    }
    changeButton = new Button("Change the text on the buttons");
    changeButton.setBackground(new Color(150, 255, 150));
    add(changeButton);
    changeButton.addActionListener(this);
}

public void actionPerformed(ActionEvent ae)
{
    if (ae.getSource() == changeButton)
    {
        count++;
        for (int i=0; i<number; i++) button[i].setLabel(buttonString[count%2]);
        invalidate();
        validate();
    }
}
} // END OF Class component_refresh