Изменение пользовательского интерфейса в приложении Swing на разных платформах - PullRequest
2 голосов
/ 31 января 2012

Графический интерфейс моего Swing-приложения построен с использованием Window Builder Pro редактора графического интерфейса.Используются макеты MigLayout и AbsoluteLayout.Приложение разработано с использованием Windows Machine, поэтому пользовательский интерфейс хорошо выровнен и аккуратен в Windows, но когда я запускаю то же приложение в Mac OS X, приложение Frame не может разместить компоненты внутри его bounds.Я имею в виду, что размер Components внутри фрейма меняется на разных платформах.Когда я даю дополнительное пространство (увеличенные рамки), это выглядит красиво в Mac, но странно в Windows.Есть ли способ увеличить Frame или Panel относительно его содержимого или Components.

Ответы [ 2 ]

4 голосов
/ 31 января 2012

Не используйте абсолютный макет.Менеджеры макетов используются именно для того, чтобы избежать проблем, с которыми вы сталкиваетесь.

1 голос
/ 31 января 2012

Если вы использовали AbsoluteLayout, поскольку ни один из существующих менеджеров компоновки не удовлетворял вашим потребностям,

Посмотрите на Создание собственного менеджера макетов и используйте его вместо AbsoluteLayout. (Перед этим убедитесь, что ни один из существующих менеджеров макета не соответствует вашим потребностям)

...