是否可以将使用Java 1.6中的Swing开发的UI移植到Java 1.5而无需重新编写所有内容?
只是详细说明duffymo所说的:
Java旨在向后兼容.即如果你在1.5中写一些东西,你可以在1.6中运行它.当然有限制(例如新的保留字,如断言打破它),但一般来说它工作正常.
如果你走另一条路,那就更危险了.您当然不需要重写所有代码,但您可能使用了自1.6以来仅提供的功能.这些特征可以是新类或现有类的新方法.
另一件事是二进制代码级别.您可以设置运行1.6的编译器来创建1.5甚至1.4的代码.
但要注意,你的1.6编译器肯定会编译1.6 rt.jar.这意味着在用1.5实际运行或编译代码之前,您不会注意到缺少的类或方法.
设置合规性级别仅意味着1.5 JRE将理解代码,而不是所有"默认"类都可用.
我没有任何1.6细节的经验,但我认为虽然1.5增加了许多新的语言功能(并不完全兼容1.4),1.6更多的是维护版本.