Naprawdę dobre pytanie. Zawsze zastanawiałem się nad tym przez kilka następnych lat w przeszłości, myślałem, że jest jakiś uzasadniony powód, ale tak naprawdę nie ma.
Myślę, że odpowiedź jest raczej prosta i wiele odpowiedzi tak naprawdę nie zagłębia się w problem.
Jeśli Twój język pozwala narysować piexel na ekranie, możliwe jest w 100% stworzenie na nim frameworka GUI, który będzie naśladował wygląd i działanie formantów systemu Windows.
Ponieważ Java jest wieloplatformowa, można również całkowicie upewnić się, że w oparciu o rzeczywisty typ systemu operacyjnego (Mac / Windows) interfejs użytkownika będzie wyglądał inaczej na obu platformach, pasując do stylu platformy wykonawczej.
Jak widać w XAML, na przykład interfejs użytkownika można łatwo przedstawić w bardzo uporządkowanej formie i języku. Wybór zachowań „rodzimych” jest również możliwy, jeśli zajmie to trochę czasu.
Możliwe byłoby więc stworzenie frameworka GUI, który pozwoliłby programistom Java uzyskać aplikacje, które wyglądałyby natywnie na komputerach Mac i Windows.
Dochodzimy do Swinga, czyli tylko jednego frameworku GUI z potencjalnej nieskończoności frameworku GUI, które można stworzyć dla Javy. Zachowuje się tak, jak został zaprogramowany, co nie jest zgodne z powyższym procesem, a aplikacje w obu systemach są dziwnie wyglądające. Taki wybór dokonali twórcy Swinga, nikt nie zmusił ich do zrobienia tego i zachowania w ten sposób.