![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Используя двойную буферизацию, добился НЕмигания при перерисовке.. Но вот проблема, на jFrame4 так же есть 2 кнопки, которые при выполнении paint исчезают и появляются только, если на них навести.
Была идея, как-то ограничить поле перерисовки, а не перерисовывать весь фрейм, но реализовать не вышло.. Устроил бы и такой вариант.. Или же каким-то образом прорисовать кнопки заново в этой же функции, но опять же не вышло( --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Пытался сделать такими способами(закомментировано):
Ничего не могу поделать, помогите, плиз.. Это сообщение отредактировал(а) soulcub - 11.2.2010, 17:42 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
При переопределении методов, осуществляющих отрисовку, необходимо вызывать метод суперкласса:
Вероятная причина вашей проблемы в том, что версия метода в суперклассе рисует дочерние компоненты контейнера, а ваша - нет. Читаем документацию:
Как видите, оригинальная реализация делает кое-какие действия для отрисовки дочерних элементов в этом методе. -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Ну... Я попробовал вызвать super.paint(g); в...... да где только не пробовал.. Ничего не меняется..
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Давайте код целиком, будем разбираться. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Вообще то что было в 1 посте - в принципе всё) Ну вот
Это сообщение отредактировал(а) soulcub - 11.2.2010, 19:39 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Вот пример, который делает тоже самое, что и приведенный вами, но не глючит
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Нет, не совсем так... У меня акцент идёт именно на двойную буферизацию.. Без неё с кнопками у меня всё в порядке.. А вот с ней, кнопки начинают пропадать. В Вашем примере кнопки рисуются единожды, и если добавить сюда 2-ю буферизацию, тоже пропадут при перерисовке..
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Вот сварганил из своего же проекта упрощённую версию.. Проблема осталась.
Внимание на конструктор можно не обращать(скопировал с генерированного кода нетбинса).
Вот, если его компильнуть, чётко видно, что элементы графики прорисовываются чисто, а кнопки блымают. В это и проблема. Это сообщение отредактировал(а) soulcub - 11.2.2010, 22:51 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Код говорит о том, что о двойной буферизации в Java вы имеете довольно смутное представление.
Что касается двойной буферизации в Swing-компонентах, вот информация из первых рук (java.sun.com):
Если по каким-то причинам вам не подходит стандартная реализация, вот эта статья может послужить хорошим примером использования BufferStrategy. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Если бы я ещё с английским дружил.... Ладно.. Как я понял этот код парой строчек не сделаешь таким как нужно? Нужно кардинально всё менять?
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Нужно. Вот тут несложная реализация с комментариями на русском, там же объяснены основные принципы того, как в Java можно реализовать двойную буферизацию средствами AWT.
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Всё, спасибо большое) Друг нашёл ответ) Если кто ещё будет озадачен, просто нужно джифрейму позволить методом paintComponents(g) перерисовывать компоненты..
Это сообщение отредактировал(а) soulcub - 12.2.2010, 02:04 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |