Muy buena pregunta. Siempre me lo pregunté durante algunos años posteriores en el pasado, pensé que había alguna razón legítima detrás de esto, pero realmente no la hay.
Creo que la respuesta es bastante simple, y muchas respuestas no están profundizando en el tema.
Si su idioma permite dibujar piexel en la pantalla, entonces es 100% posible crear un marco gui basado en él que imitará la apariencia de los controles de formulario de Windows con precisión.
Dado que Java es multiplataforma, también es completamente posible asegurarse de que, en función del tipo de sistema en ejecución real (Mac / Windows), la IU elegiría verse diferente en ambas plataformas, coincidiendo con el estilo de la plataforma en tiempo de ejecución.
Como puede ver en XAML, por ejemplo, la IU se puede presentar fácilmente en forma y lenguaje muy estructurados. La elección de los comportamientos "nativos" también es posible si se toma tiempo para hacer esto.
Por lo tanto, sería posible crear un marco GUI que permitiría a los desarrolladores de Java obtener aplicaciones que se verían nativas en Mac y Windows.
Así que llegamos a Swing, que es solo un marco de GUI del potencial infinito de marcos de GUI que podrían crearse para Java. Se comporta como se programó, lo que no sigue el proceso anterior y obtienes aplicaciones de aspecto extraño en ambos sistemas. Esa es la elección hecha por los desarrolladores de Swing, nadie los obligó a hacer esto y a comportarse de esa manera.