Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
FreeZer

Какой layout менеджер использовать в апплете?

16.08.2009, 01:36. Показов 2047. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в частночти интересует вопрос можно ли строить интерфейс пользователя для апплета с применением GridBagLayout? Запускаю я апплет в Windows.
Если просто щелкнуть мышкой по html файлу с кодом апплета, то я получаю ошибку java.lang.NoSuchMethodError: java/awt/GridBagConstraints .. Если я из броузера открываю html файл напрямую, т.е. через файл/открыть..., тогда все ок.
Если я применяю другой менеджер, напр., BorderLayout - все работает в обоих случаях.
Скажите, пожалуйста, как лучше строить интерфейс пользователя в апплете, на чем его надо основывать?

Спасибо!
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2009, 01:36
Ответы с готовыми решениями:

Какой Layout использовать?
Привет !:gsmile: Какой Layout использовать, чтобы объекты располагались с верху вниз в правой стороне ? Сейчас мой код...

Какой Layout подобрать?
Доброго времени суток! :) Делаю мини-рисовалку. Столкнулся с проблемой расположения элементов. Сделал 2 панели: на которой рисую и на...

Проверить какой layout открыт
Здравствуйте! Можно ли проверить какой Layout в данный момент открыт?

18
noir
16.08.2009, 06:53
Почитай javadoc. там для каждого класса и метода указано, в какой версии JDK он появился. Тебе нужны те, что были в JDK 1.x.
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.08.2009, 18:29
GridBagLayout - самый сложный в применении. Мы почти разобрались с ним, но потом все равно плюнули и стали делать совсем без всего, т.е. ставим setLayout(null) и сами вычисляем все размеры и позиции в методе paint() в зависимости от текущего размера фрейма. Ну, а простые лэйауты хорошо работают, но показались бесполезными.
0
FreeZer
16.08.2009, 20:16
Я посмотрел и узнал,что GridBagLayout уже был в jdk 1.0 в соcтаве awt пакета. Элементы я применяю из awt, т.е. все должно работать. Запускаю апплет в ie6, который имеет Microsoft (R) VM for Java, 5.0 Release 5.0.0.3802. Только вот как из этой инфы узнать версию jdk, кот. использует ie6? Подскажите, пожалуйста.

Mselez, как ты указываешь положение элемента без лейаута?
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.08.2009, 20:43
Я указываю положения и размер видимых компонентов внутри фрейма например так: mypanel.setLocation(..), mypanel.setSize(..) , т.е. делаю вручную то же самое, что делает лэйаут менеджер автоматически.
Если пользователь меняет размер фрейма, то надо определить его новый текущий размер через getSize().width, ..height и вычислить новые координаты и размеры внутренних компонентов. Также надо использовать getInsets(), чтобы определить внутренние размеры фрейма(без учета его рамки).
Когда я понял, как это работает, мне стало проще это делать вручную, чем доверять автоматике, котораю не всегда делает то, что нужно, особенно это относится к GridBag.. Проблемы там были, когда компонент удаляется или добавляется в процессе работы и менеджер не всегда видит их, что-то в этом роде.
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.08.2009, 20:54
А по поводу версии jdk в браузере достаточно знать , что встроенная пока ниже 1.2, не стоит на этом зацикливаться.
0
FreeZer
16.08.2009, 21:48
Mselez, огромное спасибо за твои ответы!
Действительно, в ручную все сделать - лучший выход из положения.
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
16.08.2009, 22:11
вам действительно нравится извращаться ручками? ну давайте а по поводу неправильной работы менеджера. так обновлять же нужно компонент фрейма или как вы думаете?
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.08.2009, 22:55
Понимаю, методологически это не правильно, изобретать велосипед. Но бесконечно долго осваивать и бороться с 'правильными' готовыми решениями тоже не всегда можно себе позволить. Насколько я помню, при использовании GridBagLayout важно было соблюсти порядок действий - сначала обьявить лэйаут, потом вставить компоненты во фрейм, потом установить правила их компоновки. И я добился потрясающих успехов, но через полгода он все равно меня победил. Кажется проблема была при добавлении нового компонента уже после инициации, а добавить в нужное время было нельзя и т.д.. , к сожалению, не помню точно .
0
noir
16.08.2009, 23:29
Не, лэйауты, - штука вполне нормальная, если привыкнуть. А самая вероятная причина ошибки в том, что Конструктор GridBagConstraints, принимающий параметры появился в JDK 1.2. До этого был только пустой.

Майкрософтовская Джава грубо соответствует JDK 1.1.
FreeZer
17.08.2009, 00:34
Госпада,похоже этот MS IE 6 добьет меня
Теперь браузер отказывается показывать апплет, если я применяю StringTokenizer. Не понимаю в чем дело, ведь написано же в javadoc, что StringTokenizer в jdk Since:JDK1.0. Блин, что этому гребаному броузеру не хватает?! Показывает только серый прямоугольник и, в строке состяния, пишет applet started. Что это за хреновина?
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
17.08.2009, 01:21
Ну, StringTokenizer совсем безобидная вещь, он есть везде. Надо в консоли браузера смотреть сообщения об ошибках. У меня часто случалось - если один из токенов равен пустой строке, то количество токенов будет меньше, чем предполагалось и будет exception NoSuchElement.., что-то в этом роде.
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
17.08.2009, 11:08
эээ... А можно и мне свои две копейка, а?

mselez, дарагой, вот ты сам расчитываешь координыта, так? У тебя ведь есть алгоритм расчета, так? Ну почему бы не оформить этот алгоритм в виде своего собственного лэйаут манагера? По-моему, было бы не плохо, как думаешь?
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
17.08.2009, 17:27
Их и бэз мэня нэмэрянно настругали.
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 24
17.08.2009, 17:34
Скорее всего ты просто неправильно используешь GridBagLayout, не забудь еще и про GridBagConstraints
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
17.08.2009, 18:00
Да, я недостаточно хорошо разобрался в нем, и я не утверждаю, что он плохо работает и не призываю отказываться от его использования.
0
FreeZer
17.08.2009, 19:53
а что с GridBagConstraints, на что здесь надо обратить внимание?
0 / 0 / 0
Регистрация: 12.08.2009
Сообщений: 27
18.08.2009, 12:18
А можно мне тоже свой вопрос здесь задать?..Вроде в тему...Заранее извиняюсь если оскорблю чьи то чувства...
Так вот, я пользуюсь GridBagLayout, и у меня такая проблема: в форме есть несколько jdbTextArea и один jdbTextArea,обрамленный jdbScrollPane...так вот...когда вводимые мною данные в эти поля переходят на несколько строк(соответственно есть записи, в которых в этом поле 1 строка , есть где 2,3 и т д....) и когда я в этой форме хожу по записям с помощью jdbNavToolBar, то у меня начинаются какие то изменения размеров компонентов внутри фрейма, мелькания какие то и скачки...очень некрасиво выглядит...причину не могу обнаружить, но подозреваю тот самый jdbTextArea, обрамленный jdbScrollPane...может подскажете в чем тут может быть дело?...заранее благодарна.
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
19.08.2009, 17:56
Наверное, GridBagLayout не при чем. В результате ваших действий компоненты меняют свои размеры и лэйаут менеджер вынужден их заново разместить в соответствии с ..Constraints. Я бы для начала поместил в методы paint() компонентов вывод в консоль их размеров, чтобы понять, что происходит. Увлекательное занятие .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.08.2009, 17:56
Помогаю со студенческими работами здесь

Список приложений какой Layout выбрать
Нужно реализовать экран лаунчера с иконками приложений(как в обычных лаучерах), чтобы была возможность группировать и перетаскивать по...

Какой layout удобнее для List Item
В данном случае: http://hsto.org/getpro/habr/post_images/536/1ef/8fa/5361ef8fa335330d35d16b3f92ee55ad.gif Делаю item в отдельном файле...

На какой тип Layout добавление View идёт быстрее
Если я хочу разместить 3 View в Layoutе. То в каком Layoutе View разместить быстрее(ну скорость добавления View выше) в LinearLayout в...

Файловый менеджер, какие компоненты использовать
Доброго времени суток. Мне дали курсовую, написать файловый менеджер. Какие компоненты нужно использовать ? Заранее благодарю.

Какой менеджер загрузок лучше?
Добрый день! Какой менеджер загрузок лучше? Для ADSL 512 kb/sec. Какой оптимальнее и лучше? Конечно с возможностью докачки и не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru