увидев первые минусы, я решил самую малость развить свою мысль.Swing - это кроссплатформенный тулкит на Java. И знаете что? Если поищете по IDEA Community в гитхабе по ключевому слову "ismac"[1], то обнаружите, что Swing не справляется со своей кроссплатформенностью.
Кроссплатформенность - это не просто отрисовка кнопки стандартными средствами GTK/WinAPI/макоси. Это также и следование стандартам target-оси. Эта мысль очень важна, так что я повторю ее снова:
«не просто отрисовать нативную кнопку, но и следовать Стандарту».
К примеру, в макоси, насколько я знаю, в меню File нельзя совать пункт меню Exit. В макоси нет никакого File → Exit, запрещено стандартами. И никакой so-called "кроссплатформенный" тулкит с такими требованиями не справится. Разрабатывая плагин для IDEA, я заметил, что кнопка помощи в диалоговых окнах отображается двумя разными способами: для макоси это круглая кнопка (?) снизу слева окна, а для НЕ-макоси это полноценная кнопка [Help] снизу справа наряду с [OK] [Cancel]. Не знаю, стандарт макоси это или нет, но условие способа отображения кнопки назначено именно через isMac().
А всех несогласных я бы попросил привести мне любое приложение, которое, используя один и тот же тулкит, правильно отображалось бы и в макоси (согласно Стандартам макоси), и в винде (согласно Стандартам винды). Заметьте: я не прошу поддержку линукса. Достаточно "кроссплатформенного" тулкита только для макоси и винды.
[1] https://github.com/JetBrains/intellij-community/search?utf8=...