try{
Once and for all. Two issues.
Crime : My customer doesn't want to upgrade JVM version.
Punishment : Well stick sharp pointy things into a voodoo doll of your customer. If you are lame enough to develop using M$ tools, then the installers would install hundreds of finicky dll's updated. And usually ask the user which one he wants.
Verdict : If the damn user wants to damn well upgrade their damn software, they can damn well upgrade the code you wrote and the code others wrote, and damn well understand that the jvm is an integral part of your product.
Crime : I don't want to break backwards compatibility.
Punishment : Wake up idiot.
Verdict : Firstly, The new components would not be written with backwards compatibility. They wouldn't stop people having older JVM installed, nor would they remove all ability to run the older classes (i.e. the existing classes would be in there, or perhaps an optional download). Your argument about borland 6 is pathetic. That is like saying, why would someone embrace Java, if their C programs won't compile. By definition, something new has no backwards version to be compatible with.
What I would like : Java 3 (we could call it java 1.5 to really confuse people, because 3 is above 2, so its 3/2 = 1.5 =) Maintains the existing great core classes - adds the cool optionals, for instance, isn't it history that all version 3 of every game was 3d? Fade to Black (Another world 3) Prince Of Persian 3(D) Lemmings 3(D) ok you get the point, Java 3 would have the Java3D API within it. Yippee! (read below for why that is so cool!)
Also, IBM's excellent work and support for java would be integrated as they work together to integrate a better AWT (using SWT concepts, but making it run at a useful level on something other than windows...*cough*cough*) And then!! Create a dazzling new foray into GUI design with the sweetest collection of lightweight components, truly extensible, with no serious design problems, perhaps they could make the classes easier to extend, as this would make Java not only a viable option for client development, which it already is, but make it the only one you should consider.
In short:
Java 3
Java3D libraries (all 3D web content via applets! finally one standard for the web!)
Update core libraries
Implement a new AWT/SWT (call it SET - Standard Environment Toolkit ?) Which runs on all major platforms.
Using the latest thinking in HCI, build a set of lightweight components ala swing over this new toolkit, and make them easily extensible.
This would be the major area of compatibility breakage, but as 1.2 broke away by including swing as standard, 1.3 will include the next phase.
}catch(UserDisagreesException ude){
throw new InvalidArgumentException("Well what do you think?");
}finally{
System.out.println("Hooray for Java!! We love Java!!!");
}