|
|
Java форум JavaTalks форум программистов
|
|
|
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
1sanek1 Новичок
Зарегистрирован: 17.09.2008 Сообщения: 133
|
Добавлено: Фев 26, 2010 22:00 Заголовок сообщения: Позициирование в gwt |
|
|
Здравствуйте!
У меня возникла следующая проблема:
Не получается расположить элементы на странице после изменения их размера.
Я использую gwt и gxt.
Последовательность действий следующая:
1) я создаю строковый контейнер типа HorizontalPanel
HorizontalPanel stroka = new HorizontalPanel();
2) создаю группу компонентов TextBox, пускай будут a1, a2, a3
TextBox a1 = new TextBox();
TextBox a2 = new TextBox();
TextBox a3 = new TextBox();
3)далее добавляю их в контейнер, причем до этого пробую задать параметры контейнеру
stroka.setWidth("30%"); - так точно и не понял на что влияет параметр
на расстояние выделяемое на компонент, или расстояние между ними
stroka.setTableWidth("100%"); - как я догадываюсь длина всего контейнера
stroka.add(a1);
stroka.add(a2);
stroka.add(a3);
4)далее меняю длину каждого компонента
а1.setWidth("25%");
а2.setWidth("25%");
а3.setWidth("25%");
после этого и начинается страшные вещи на экране компоненты разбросаны не пойми как, причем они обрублены, такое впечатление как будто на них выделяется меньше место чем надо
4) так же создаю общий контейнер
LayoutContainer container = new LayoutContainer();
с настройками
container.setSize("100%", "100%");
5)добавляю в него строковый контейнер
container.add(stroka);
6) и вывожу все на jsp странице
RootPanel.get("calendar").add(container);
container.setBorders(true);
container.layout();
7) а еще делаю такую штуку
а1.setFocus(true);
а2.setFocus(true);
а3.setFocus(true);
На экране, поля налазают друг на друга, причем с обрубленными местами, если не задавать а3.setWidth("25%"); то поля выводятся нормально, только размер не тот, подскажите как правильно настраивать местополжение и размер(только в процентах, а не в пикселях), на что влияет например метод stroka.setWidth("30%"); и относительно чего он берет процент. Что я не так делаю?
Заранее спасибо! |
|
| Вернуться к началу |
|
 |
1sanek1 Новичок
Зарегистрирован: 17.09.2008 Сообщения: 133
|
Добавлено: Фев 26, 2010 22:02 Заголовок сообщения: RE: Позициирование в gwt |
|
|
| кстати TextBox, из библиотеки import com.google.gwt.user.client.ui.TextBox; все остальное берется из gxt |
|
| Вернуться к началу |
|
 |
1sanek1 Новичок
Зарегистрирован: 17.09.2008 Сообщения: 133
|
Добавлено: Мар 02, 2010 21:28 Заголовок сообщения: RE: Позициирование в gwt |
|
|
Я так понял проблема связана с разрешением, на 23 дюймовом компьютере, с разрешением 1920/1080, все работает правильно по следующей системе
stroka.setWidth("100%"); -длина поля HorizontalPanel
а3.setWidth("250%"); длина элемента TextBox
но на мониторе 17 дюймов, на jsp страница поле обрублено, не понимаю почему так получается, ведь задаю все в процентах, кто нибудь знает как с этим бороться?
Как рисуется изначально элемент? в пикселях? |
|
| Вернуться к началу |
|
 |
1sanek1 Новичок
Зарегистрирован: 17.09.2008 Сообщения: 133
|
Добавлено: Мар 10, 2010 20:50 Заголовок сообщения: RE: Позициирование в gwt |
|
|
Проблема оказалась в браузере, но возник новый вопрос:
скажите, пожалуйста, почему при изменении длины полей, например
а1.setWidth("200%");
а2.setWidth("200%");
а3.setWidth("350%");
перекрываются поля a1 и a2, то есть поле a2 перекрывает a1, а поле a3 соответственно перекрывает a2. Я пробовал задавать position, но не какого результата не последовало
stroka.Position(150, 0);
в jsp вставляю сл. образом:
| Код: |
<Table name="T2" border=0 width="100%" class="mainpanel">
<tr >
<td >
<div id="calendar" align="left" ></div>
</td>
</tr>
|
пробовал в сss в mainpanel добавлять position: relative;, но тоже не помогло. Может быть надо в коде java(gwt), как то выставить параметр
relative, может он идет как и в css по умалчанию static и поэтому не удаются выставить stroka.Position(150, 0);?
Можно ли выставить relative?
Необходимо как то переместить текстовый элемент в право. |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|