2012-01-31 3 views
2

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

ответ

4

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

+0

+1, точно, кажется, вы просто украли мой ответ, хе-хе, просто шутите :-) С уважением –

+0

Как насчет 'MigLayout'? Я использовал его везде. Они похожи на «Абсолютная компоновка»? – Ahamed

+0

Если это соответствует вашим потребностям, пойдите с ним. Это известный менеджер макетов. –

1

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

Посмотрите Creating a Custom Layout Manager и использовать один вместо AbsoluteLayout. (До этого не убедитесь, что ни один из нынешних менеджеров компоновки соответствии с вашим нужен)

+0

- Я не люблю цвет моей машины; - Вот краткое руководство о том, как построить свой собственный завод по окраске автомобилей, чтобы вы могли создать нужный вам цвет! –

+0

@DenisTulskiy Я указал, сделайте это только в том случае, если вы не хотите использовать ЛЮБОЙ ИЗ СУЩЕСТВУЮЩЕГО ЦВЕТА для вашего автомобиля :) Есть ли у вас другой вариант? – COD3BOY

Смежные вопросы