Строка заголовка Java Swing Mac OSX
Я работаю над приложением Java Swing для OSX и хочу, чтобы оно выглядело как Mac-Like, насколько это возможно. Я добился большинства желаемого вида, но одна вещь все еще ускользает от меня.
Это заголовок. Многие нативные OSX-приложения имеют "высокую" строку заголовка с "кнопками панели инструментов" и маленькую кнопку, чтобы переключать отображение / скрытие "кнопок панели инструментов" в правом верхнем углу (см. Изображение приложения FeedForAll, которое является Java, но использует SWT),
Есть идеи, как этого достичь? Любая помощь или указатели будут высоко оценены.
3 ответа
В Swing нативные компоненты ОС фактически не используются. Внешний вид "Аква" по умолчанию на Mac старается максимально приблизиться к нативному внешнему виду, но на самом деле он просто рисует вещи с помощью Java2D. Так, например, импульсное свечение кнопки по умолчанию не реализовано.
Есть некоторые свойства клиента, которые вы можете установить в окне, чтобы повлиять на его внешний вид, но "панель инструментов заголовка", кажется, не вариант:
http://developer.apple.com/library/mac/#technotes/tn2007/tn2196.html#//apple_ref/doc/uid/DTS10004439
Один из вариантов - переключиться на использование Quaqua. Я сам этим не пользовался, но якобы он выглядит даже более точно, как Аква. У него есть свойство, которое вы можете установить, чтобы получить желаемый вид панели инструментов:
http://www.randelshofer.ch/quaqua/guide/client_properties.html
Вы можете посмотреть на панель инструментов Unified, доступную в Mac Widgets для Java.
Извините, но я не думаю, что вы можете получить кнопку управления на панели инструментов с помощью Swing. Нет системных свойств appl-esqe, которые бы нарисовали его для вас. Попробуйте свойство "apple.awt.brushMetalLook", но, насколько я помню, у него только что была единая панель инструментов и заголовок. SWT кажется твоим единственным выбором.
Кроме того, я не думаю, что вы должны беспокоиться об этом элементе пользовательского интерфейса.Эта кнопка удалена из всех элементов пользовательского интерфейса OS X начиная с 10.7 (Lion)
Благодаря Lion большинство приложений имеют полноэкранный значок в правом верхнем углу. При использовании Swing для программирования на OS X я думаю, что вы должны провести черту в какой-то момент вашего квеста, чтобы он выглядел абсолютно естественным.
Чтобы добавить к этому, я думаю, что клиенты Mozilla разработаны на Objective C/C++ и немного Java (может быть) для Mac.