Lo stesso codice Java (principalmente) gira su tutte le architetture OS /. Ha diverse API diverse per disegnare forme / finestre. Alcune di queste API, ad es. Lo swing ti consente di cambiare aspetto e aspetto tra l'emulazione di diversi set di widget. Quindi un programma può essere scritto in modo tale da consentire all'utente di modificare l'aspetto.
L'aspetto grafico fornito include OSX (come nella schermata principale) e Windows (diverse forme) o Motif o GTK. Il modo per impostare questo in Swing e per ulteriori informazioni vedere questo documento Oracle Si noti che anche l'aspetto e l'aspetto dell'OSX non corrisponde pienamente alle linee guida di Apple, ad es posizionamento del menu nella finestra e non nella parte superiore del display.
Come qualsiasi sistema Windowing puoi sempre scrivere programmi che si comportano e sembrano diversi dallo standard previsto. Succede che per la maggior parte degli sviluppatori di OSX attenersi alle linee guida di Apple, ma anche usando le API fornite da Apple puoi avere un feeling diverso tra i programmi Carbon (originariamente Mac OS < = 9) e Cocoa (originariamente NeXT). L'AppStore consente ad Apple di avere un po 'più di controllo, ma non so se le linee guida del display vengano effettivamente controllate.