Проблема с Swing GUI на Macintosh - PullRequest
1 голос
/ 28 октября 2008

Я новичок в Swing.

Существуют ли какие-либо конкретные проблемы, связанные с настройкой операции рисования на Mac?

Я разработал пример приложения с использованием NetBeans + Swing для Windows. Работает нормально. Но если я запускаю одно и то же приложение на Mac, ярлыки кнопок на панели не появляются на экране. Только когда операция над указателем мыши выполняется над конкретным компонентом, она отображается на экране.

Пожалуйста, кто-нибудь может мне помочь решить эту проблему?

Заранее спасибо. sakkiharry

1 Ответ

1 голос
/ 28 октября 2008

Поскольку Swing рисует весь сам пользовательский интерфейс, Mac OS не оказывает на него никакого влияния. Однако есть исключения. Если вы разрешите Java использовать собственное меню, меню будет вести себя как любое другое меню Swing, но на самом деле оно транслируется в собственные функции меню (поэтому оно будет отображаться в верхней части экрана и будет вести себя как собственное меню Mac OS X. ... не нужно заботиться о вас как о программисте, но отлично подходит для пользователей Mac, которые не хотят, чтобы меню появлялись в других местах).

Полагаю, ваша проблема, вероятно, в чем-то другом, но трудно догадаться, если у меня нет кода для работы. Можете ли вы разбить проблему на ультра-минимальный тест? Например. Можете ли вы просто нарисовать JFrame, добавить одну из ваших пользовательских кнопок, которая показывает проблемное поведение, и просто использовать столько кода, сколько необходимо, чтобы нарисовать этот минимальный интерфейс и выявить проблему? Если вы опубликуете этот код здесь, я бы более внимательно изучил его и постарался выяснить, что является причиной проблемы и как ее решить (я дипломированный программист на Java, но у меня также есть годы работы в Mac OS). Опыт разработки X, так что это две области знаний, которые я должен знать очень хорошо, но я обычно не комбинирую их, так как я не занимаюсь разработкой на Java для Mac OS X).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...