@AlArenal
Klar hast Du Recht mit dem Einwand, dass nicht alles gleich aussehen muss.
Oracle, SAP und auch zahlreiche andere Unternehmen haben ihr eigenes L&F,
was der Wiedererkennungswert erhöht (Stichwort: Corporate Identity).
Es gibt aber einige Gemeinsamkeiten, die z.B. bei allen Windows Anwendungen
gleich sind, die Spielregeln für Tastenkürzel, Komponentenverhalten etc.
Ein Beispiel, Tabellen in Swing und die Tab-Taste. Man erwartet, dass die nächste
Komponente in der Focus-Reihenfolge fokussiert wird, was "per default" nicht
der Fall ist (stattdessen Ctrl-Tab). Manche Container wie SplitPane oder auch
ScrollPane können unter gewissen Umständen auf einmal fokussierbar sein etc.
Dann noch das Overkill mit den Focus traversal policies. Es stimmt vorne und
hinten nicht. Anderes Beispiel, Dialogfenster und Default-Button, der gleich den
Focus an sich reisst. Inline-Editor einer Tabelle, der nach Tabulator nicht zur
nächsten Spalte springt, sondern aus dem Editiermodus heraus. ComboBox,
deren Popup nicht automatisch an die Breite der Inhalte angepasst wird,
JSpiltPane reagiert erst dann auf Positionsänderungen, wenn es sichtbar ist, usw.
Ich könnte die Liste so weiter fortführen. Wenn man es lange genug kennt, kann
man es zwar mit paar Zeilen Code wieder zurecht biegen, dennoch nerven gerade
diese Kleinigkeiten ungemein.
Nicht umsonst entstehen Frameworks wie das bei
JGoodies u.ä. oder man schreibt
selbst welche (zumindest paar Templates für typische Klimmzüge in Swing).
Ich sehe es meist eher pragmatischer, kann mit den Unterschieden leben, leider
entwickelt man nicht für sich selbst. Gespräche über das "Warum" fange ich bei
einem Kunden nicht mal an, sondern mache es gleich so, wie er es von anderen
Anwendungen gewohnt ist.