Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Апплет по ширине страницы, Как получить ширину окна браузера 
V
    Опции темы
ctpahhik
Дата 1.6.2006, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Как в апплете можно получить текущую ширину окна браузера в котором он запущен?
А точнее как сделать что-бы апплет имел не фиксированную ширину, а "растягивался" по ширине окна? 
PM MAIL   Вверх
batigoal
Дата 1.6.2006, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 3
Всего: 151



Цитата(ctpahhik @  1.6.2006,  20:15 Найти цитируемый пост)
Как в апплете можно получить текущую ширину окна браузера в котором он запущен?
А точнее как сделать что-бы апплет имел не фиксированную ширину, а "растягивался" по ширине окна?  

Я, честно говоря, таких не видел. И я вижу только одно решение этой проблемы - через генерацию страницы с апплетом на сервере, после передачи серверу параметров разрешения экрана. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ctpahhik
Дата 2.6.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Вроде вполне разумное желание, интересно почему не реализовали (ну или далеко запрятали) такую возможность smile
Предложенный вариант в крайнем случае подойдет (для полностью развернутого окна), но мне хотелось что-бы при изменении размеров окна браузера апплет тоже ресайзился под него.

Кстати, а почему resize/setSize не работает  smile , т.е. в апплет-вьювере работает а в браузере нет  smile  
PM MAIL   Вверх
batigoal
Дата 2.6.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 3
Всего: 151



Потому что размер апплета определяется не его кодом, а параметрами его отбражения, указанными в HTML-разметке.

Может быть, этим можно попробовать манипулировать через JavaScript?.. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ctpahhik
Дата 2.6.2006, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Но методы ведь определены, значит должны работать  smile .

Про JavaScript знаю только что такая штука есть smile. Ладно пойду изучать.
Кстати, а как проще всего на http-сервере получить текущее разрешение экрана клиента? Cервер (точнее некоторое подобие) естественно самописный и на java.

О, придумал извращение, загружается микроапплет который получает текущее разрешение клиента, потом через AppletContext.showDocument(...) передает его серверу в параметрах запроса новой страницы. В ответ сервер возвращает страничку с нужными размерами  smile . 
PM MAIL   Вверх
batigoal
Дата 2.6.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 3
Всего: 151



Цитата(ctpahhik @  2.6.2006,  19:04 Найти цитируемый пост)
О, придумал извращение, загружается микроапплет который получает текущее разрешение клиента, потом через AppletContext.showDocument(...) передает его серверу в параметрах запроса новой страницы. В ответ сервер возвращает страничку с нужными размерами  smile .  

Можно немного попроще, через JavaScript. Можешь спросить в соотвествующем разделе, должно быть что-то типа этого:
Код

<html>
<body onLoad="window.location.href = ('/appletPage.jsp?width=' + screen.width + '&height=' + screen.height)';">
</body>
</html>
  

Это сообщение отредактировал(а) Lamer George - 2.6.2006, 19:35


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ctpahhik
Дата 6.6.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Все оказалось гораздо проще чем казалось, проблема решилась использованием:

Код

<script LANGUAGE="JavaScript">
    document.write("<APPLET CODEBASE='classes' CODE='MainForm.class' WIDTH="+(screen.width-50)+" HEIGHT=100></APPLET>");
</SCRIPT>


для вызова апплета, даже страницу генерировать не пришлось smile

Спасибо Lamer George  smile .
 
PM MAIL   Вверх
batigoal
Дата 6.6.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 3
Всего: 151



Да не за что, сам же написал. Надо взять на заметку... 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.