Eines der Verkaufsargumente von Java ist, dass es "Write Once, Run Anywhere" ist (so ziemlich).
Der kompilierte Bytecode wird von der Java Virtual Machine (JVM) ausgeführt. Die JVM ist spezifisch für die Plattform, auf der sie läuft, aber derselbe Bytecode kann von jeder Plattform ausgeführt werden, die über eine JVM verfügt. Der Code muss nicht neu kompiliert werden.
Swing ist das plattformübergreifende GUI-Toolkit von Java. Sie können es so konfigurieren, dass es eine grafische Benutzeroberfläche hat, die auf verschiedenen Plattformen gleich aussieht (es wird auf keiner von ihnen nativ aussehen), oder Sie können es anweisen, das am besten geeignete Aussehen für die Plattform zu verwenden, auf der es ausgeführt wird. Unter Windows sieht sie also wie eine Windows-Anwendung aus, unter OS X wie eine native Mac-Anwendung.