| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Правильный подход к проектированию интерфейсов? |
| Автор: Killer_13 15.7.2011, 13:14 |
| По моим нескольким темам видно, что я сейчас борюсь с ЛейоутМенеджерами при постройке интерфейса. Хочу задать вопрос на счет логики построения. Правильно ли я понимаю?! Например строим форму в ней мне хочется все окно разбить тремя панелями в ряд. тогда я на например на JFrame ставлю FlowLayout, потом в одной панели добавляю 50 кнопок сверху вниз, для этой панели добавляю BoxLayout с Y_AXIS, в другой панели хочу по своему разместить еще несколько панелей и в них тоже элементы, тогда например беру для второй панели GraidBagLayout и так д.... Правильно я это понимаю? А чтоб компоненты были нужной мне высоты и ширины обязательно для каждого компонента писать setPreferredSize,setMinimumSize? Можно так - сделал панель необходимых размеров - бросил туда компонент и он занял всю рабочую область панели? Спасибо. |
| Автор: Killer_13 15.7.2011, 14:19 |
| Ой, как вы мне здорово помогли, простая вещь, у меня почему то сразу сложилось впечатление, что BorderLayout разбивает всегда на 5 частей, блин, я не дочитал, что если один компонент, то он так делает, теперь уже просветляется, уже помаленьку раскладываю по полочкам, за буду оптимизировать код. А как на счет вопроса? Я понимаю, что много нюансов, но подход такой правильный? |
| Автор: dorogoyIV 15.7.2011, 15:18 |
я бы посоветовал хорошенько изучить BorderLayout and FlowLayout, и пока не лезть в навороченные менеджеры (этих двух вполне хватает...) |
| Автор: dorogoyIV 15.7.2011, 19:52 |
тут по моему - твори все, что, хочешь layoutmeneger загрузится во время запуска приложения, потом в памяти будет висеть его слушатель (...Listener), так, что, ресурсов много не сожрет... |
| Автор: COVD 16.7.2011, 06:03 |
| Killer, а вы осваиваете лэйауты вручную? 10-ю пальцами по клавиатуре? Я намекаю на альтернативу - дизайнер интерфейсов. Например, в Нетбинс. Поставили лэйаут и сразу посмотрели его поведение. Использование дизайнеров и есть "Правильный подход к проектированию интерфейсов". Использование дизайнера приводит к созданию большого количества вложенных панелей. И действительно можно ограничиниться малым количеством лейаутов. Получается избыточно (кода), но код генерит компьютер. |
| Автор: Killer_13 16.7.2011, 10:03 |
| Да, я осваиваю "лэйауты" вручную, 10 пальцами. |
| Автор: dorogoyIV 16.7.2011, 10:22 |
| осталось самому свой написать... на форуме где то видел CircleLayout (компоненты расположены по окружности) мне когда то такой нужен был: http://forum.vingrad.ru/index.php?showtopic=229000&view=findpost&p=1645574 |
| Автор: COVD 16.7.2011, 22:07 | ||
Сам себя поправлю. Подходов - два. И оба правильные. Один подход - вручную. Получается компактный код, минимум панелей. Но требуется виртуозное владение лэйаутами. Возможно применение экзотических лэйаутов или самописных. Второй - использование дизайнера. Получается много вложенных панелей, простые лэйауты. Сгенерированный код состоит из большого числа стандартных конструкций. Смотреть его не интересно и редактировать невозможно. Первый подход - для специализирующихся на GUI или претендующих на создание уникального интерфейса. Второй подход - "индустриальный", для быстрого создания интерфейсов стандартного качества и вида, для тех, кто работает с интерфейсами редко. |