![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
По моим нескольким темам видно, что я сейчас борюсь с ЛейоутМенеджерами при постройке интерфейса.
Хочу задать вопрос на счет логики построения. Правильно ли я понимаю?! Например строим форму в ней мне хочется все окно разбить тремя панелями в ряд. тогда я на например на JFrame ставлю FlowLayout, потом в одной панели добавляю 50 кнопок сверху вниз, для этой панели добавляю BoxLayout с Y_AXIS, в другой панели хочу по своему разместить еще несколько панелей и в них тоже элементы, тогда например беру для второй панели GraidBagLayout и так д.... Правильно я это понимаю? А чтоб компоненты были нужной мне высоты и ширины обязательно для каждого компонента писать setPreferredSize,setMinimumSize? Можно так - сделал панель необходимых размеров - бросил туда компонент и он занял всю рабочую область панели? Спасибо. |
|||
|
||||
| dorogoyIV |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
можно
вообще то много нюансов... потренируешься, разберешься... |
||||
|
|||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Ой, как вы мне здорово помогли, простая вещь, у меня почему то сразу сложилось впечатление, что BorderLayout разбивает всегда на 5 частей, блин, я не дочитал, что если один компонент, то он так делает, теперь уже просветляется, уже помаленьку раскладываю по полочкам, за буду оптимизировать код.
А как на счет вопроса? Я понимаю, что много нюансов, но подход такой правильный? |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Killer, а вы осваиваете лэйауты вручную? 10-ю пальцами по клавиатуре? Я намекаю на альтернативу - дизайнер интерфейсов. Например, в Нетбинс. Поставили лэйаут и сразу посмотрели его поведение. Использование дизайнеров и есть "Правильный подход к проектированию интерфейсов". Использование дизайнера приводит к созданию большого количества вложенных панелей. И действительно можно ограничиниться малым количеством лейаутов. Получается избыточно (кода), но код генерит компьютер.
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Да, я осваиваю "лэйауты" вручную, 10 пальцами.
|
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
осталось самому свой написать...
на форуме где то видел CircleLayout (компоненты расположены по окружности) мне когда то такой нужен был: VerticalLayout |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Сам себя поправлю. Подходов - два. И оба правильные. Один подход - вручную. Получается компактный код, минимум панелей. Но требуется виртуозное владение лэйаутами. Возможно применение экзотических лэйаутов или самописных. Второй - использование дизайнера. Получается много вложенных панелей, простые лэйауты. Сгенерированный код состоит из большого числа стандартных конструкций. Смотреть его не интересно и редактировать невозможно. Первый подход - для специализирующихся на GUI или претендующих на создание уникального интерфейса. Второй подход - "индустриальный", для быстрого создания интерфейсов стандартного качества и вида, для тех, кто работает с интерфейсами редко. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |