суббота, 9 февраля 2013 г.

как изменить высоту layout на андроиде

.addComponent(jPasswordField1)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 126, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addGroup(layout.createSequentialGroup()

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

getContentPane().setLayout(layout);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

Рассмотрим код сгенерированный рисовалкой:

Использование визуального редактора типа Netbeans Matisse

На скриншоте видно что некоторые поля меняют ширину в зависимости от размера формы, кнопки привязаны к границам окна т.е. компоновка не является тривиальным выставлением константных размеров/положения компонентов.

Рассмотрим варианты создания форм типа этой:

В стандарной JRE содержится больше десятка классов для компоновки элементов (FlowLayout, GroupLayout и т.п.), постоянно появляются новые компоновщики типа MigLayout но ситуация не улучшается.

Почему я не могу просто добавить кнопки с полями на форму без изучения всех этих LayoutManager'ов?

Библиотека Swing появилась примерно 15 лет назад и все эти 15 лет КАЖДЫЙ кто начинает программировать на Java задаёт один и тот же вопрос:

30 августа 2011 в 12:21

Layout без layout'ов / Хабрахабр

Комментариев нет:

Отправить комментарий